GTP/GTX 中的 LOS 状态机行为与各种以太网协议的规范不同。本文介绍了 LOS 状态机行为,并提供了解决问题的方法。该方法可能不适用于所有设计、特别是需要 Channel Bonding 的设计。
解决方法:
不使用 Channel Bonding 时 不使用 Channel Bonding 时,GTP/GTX 中的 Loss of Sync 状态机会无限停滞在 RESYNC 状态。
要在不使用 Channel Bonding 的设计中解决这个问题,可设置: CHAN_BOND_SEQ_1_1 to 10'b0100000000 CHAN_BOND_SEQ_1_ENABLE to 4'b0001 下图显示了以上属性变化的相同设计
这种解决方案不会影响单通道设计,因为 0x00不是有效的 K 字符,不会出现在任何 8b/10b 编码数据流中。 使用 Channel Bonding 时 设计使用 channel bonding 时,会看到Loss of Sync 状态机在检测到 K 字符时报告 RESYNC。
启用 Channel Bonding 情况下没有解决这个问题的办法。当 CORE Generator GUI 中选择了 Implement IEEE Synchronization State Machine 选项时,Xilinx XAUI Core 在 FPGA 架构中实现 LOS,从而绕开这个问题。如果该选项未选中,那么 XAUI Core 只使用 RXLOSSOFSYNC 端口的位 1。