为什么我偶尔会在PCS / SERDES QUAD RX FPGA FIFO接口上看到无效的8b10b字符,即使PCS链接状态机显示正确状态?

当Lattice SERDES / PCS QUAD上电时,PCS恢复时钟不稳定,直到RX CDR完全锁定输入数据。

在RX时钟不稳定期间,PCS RX FPGA接口FIFO(RX FIFO)上的指针可以达到无效值。

当CDR最终锁定时,您将不会再看到代码违规或差异错误,并且PCS中的链路状态机将正确同步。

但是,某些通道(写入和读取侧)上的RX FIFO指针可能保持无效状态,并导致损坏的数据显示在RX FPGA并行数据上。

这就是为什么你需要断言RX通道数字复位来初始化指向有效值的指针。这允许正确的数据流出RX PCS FPGA接口。 莱迪思建议您实现中所述的重置序列状态机 LatticeECP3 SERDES / PCS使用指南 - TN1176 对于LatticeECP3,和 LatticeECP2M SERDES / PCS使用指南 - TN1124 对于LatticeECP2M。

您还可以实现中描述的RX通道重新同步逻辑 。LatticeSC flexiPCS / SERDES设计指南 - TN1145 。对于LatticeSC。。这些状态机在上电或CDR丢失锁定条件后自动断言RX通道数字复位信号(LaticeECP3的rx_pcs_rst_ch *,LatticeECP2M的ffc_lane_rx_rst_ch *和LatticeSC的tx_rst *)。
编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-07-27 14:01:43 +0800

这个帖子被标记为一个社区wiki

这个帖子是一个wiki(维基). 任何一个积分 >500的人都可以完善它