为什么我偶尔会在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 *)。添加评论