大家好。我们在跑两片 FPGA 之间使用Serdes通信的时候,发现 RX 出现错误。TX 端发送的数据是从0一直累加1,但是接收端RX收到的数据是杂乱无章,没有规律的,同时有一堆的 Error 状态出现。
硬件同事测量眼图说信号质量是符合要求的(见下图)。
我这个工程很简单,就是将IP调用,给通道3灌数据,也不知道是哪里出问题了。
rx_count:是用rx时钟产生的一个加1技术器,且 rx_cdr_lol_ch3 指示一直为低,表明 rx时钟是稳定的。
rxdata_ch3_reg 是 rx端收到的数据,是杂乱无章的,非预期数据。
rx_disp_err_ch3, rx_cv_err_ch3 错误标识有拉高,表明传输过程中有错误出现。另外,没有错误标识的接收数据看起来也不太正常。
在纯8B/10B或自由协议时需要自己做对齐处理,依据rx_k_ch3的信号来处理,这个信号的计数器表示了K码的高低位,如下图2和1中的K码都是对齐的,而3中的高字节出现在了前面,低字节出现在后面。
这是ecp3的接收,发送用的什么芯片?可以调一下发送端SerDes的输出幅值和去加重,看看有没有改善,我调试过ecp3与k7之间的SerDes通信,收发都是没问题的,论坛里面发了一个详细的帖子可以参考
你好,最近遇到和您一样的问题,已经困扰一周多了,请问您最后怎么解决的?