xxdd 发表于 2021-2-18 12:02:18

对1.2Gbps的高速差分信号,进行4倍过采样实现CDR,怎么设计比较合理?

FPGA是Xilinx的A7,我想对输入的差分码流进行4倍过采样,实现CDR功能,解码出数据
我考虑了两种过采样方案,一种是用四路SelectIO,每路SelectIO的时钟相位相差90度,同时对一路输入信号进行DDR采样,一路的采样率最高能到1.25Gbps,这样理论上能实现5Gbps的采样率。
另一种是用SelectIO中的IDELAY功能,通过调整IDELAY参数,理论上也能实现同样效果
大家帮忙看一下,这两种思路是否可行,那种更好?或者有没有更好的实现方案?

wye11083 发表于 2021-2-18 12:39:36

固定速率考虑用gtx,容差范围内可以自动cdr(禁用8b10b等,或者配成64b)

gongxd 发表于 2021-2-18 13:10:13

时钟相位相差90度比较好

xxdd 发表于 2021-2-18 13:33:09

wye11083 发表于 2021-2-18 12:39
固定速率考虑用gtx,容差范围内可以自动cdr(禁用8b10b等,或者配成64b)

不是固定速率,而且也不是常规编码协议,所以才考虑直接用io过采样。用io做4倍过采样,实现5g采样率,你觉得是否可行?

xxdd 发表于 2021-2-18 13:38:41

gongxd 发表于 2021-2-18 13:10
时钟相位相差90度比较好

为什呢?a7 fpga里的idelay模块的延时分辨率能到80p以内,有31级延时,精度高,可调范围大,感觉比pll更好呢

xxdd 发表于 2021-2-18 13:42:46

本帖最后由 xxdd 于 2021-2-18 13:43 编辑

wye11083 发表于 2021-2-18 12:39
固定速率考虑用gtx,容差范围内可以自动cdr(禁用8b10b等,或者配成64b)

再请教一下,gtx有没有办法实现类似逻辑分析仪那样,对输入信号快速异步采样,然后把原始采样数据直接输出?

gongxd 发表于 2021-2-18 13:47:22

xxdd 发表于 2021-2-18 13:38
为什呢?a7 fpga里的idelay模块的延时分辨率能到80p以内,有31级延时,精度高,可调范围大,感觉比pll更 ...

90度相当于四等分,不管时钟怎么变化,我们用的90度很好用

xxdd 发表于 2021-2-18 19:00:06

gongxd 发表于 2021-2-18 13:47
90度相当于四等分,不管时钟怎么变化,我们用的90度很好用

你们也是实现类似功能吗?采样率做到了多少?

gongxd 发表于 2021-2-18 19:58:36

xxdd 发表于 2021-2-18 19:00
你们也是实现类似功能吗?采样率做到了多少?

250Mhz 4倍到1GHZ

wye11083 发表于 2021-2-18 20:31:17

本帖最后由 wye11083 于 2021-2-18 20:34 编辑

xxdd 发表于 2021-2-18 13:42
再请教一下,gtx有没有办法实现类似逻辑分析仪那样,对输入信号快速异步采样,然后把原始采样数据直接输 ...

可以。禁用8b10b,cdr我记得也能关掉,就是把它当成一个基本的serdes来用。或者你用carry4单元来搭延迟链。idelay不能做延迟链,因为它只有一个抽头。

一般carry4抽头延迟在40
~80ps之间(slice内/跨slice),所以你大概需要50级就差不多够400mhz采样了。同时要给一个参考时钟链用于校准延迟。注意延迟链不应过长,否则会抖得厉害了。

xxdd 发表于 2021-2-18 21:55:32

wye11083 发表于 2021-2-18 20:31
可以。禁用8b10b,cdr我记得也能关掉,就是把它当成一个基本的serdes来用。或者你用carry4单元来搭延迟链 ...

那么在fpga中,怎么调用carry4单元搭建延迟链呢?
另外你说的延迟校准,是通过类似IDELAY那样,改变抽头位置,控制延时值吗?
我从没这样用过呢,请指点一吧,非常感谢!

wye11083 发表于 2021-2-18 22:36:35

xxdd 发表于 2021-2-18 21:55
那么在fpga中,怎么调用carry4单元搭建延迟链呢?
另外你说的延迟校准,是通过类似IDELAY那样,改变抽头 ...

并行采样。你自己找论文,多的是。
页: [1]
查看完整版本: 对1.2Gbps的高速差分信号,进行4倍过采样实现CDR,怎么设计比较合理?