采用 Aurora 8B10B v11.0 Rev2 或 Artix-7 GTP 生成的更高版本的 IP,channel-up 会定期触发,无法实现稳定的 channel_up 断言。
在 IP 采用 Verilog 生成时,所有 Aurora 8B10B 配置都会出现该问题。
采用 VHDL 生成的 IP 不受该问题影响。 本答复记录主要提供解决该问题的办法。
根本原因:
由于 RXRESETDONE 端口的浮动连接,rx_startup_fsm 被困在 WAIT_RESET_DONE 状态下。
这将初始化因超时而形成的周期性复位。超长时间运行时,该故障会出现在仿真过程中,而且与硬件有关。
在 <core_name>_transceiver_wrapper.v 文件中,<core_name>_rx_startup_fsm 模块实例的 RXRESETDONE 端口由 rxfsm_rxresetdone_r1 驱动。
该信号没有驱动程序。以下截图说明 RXRESETDONE 端口与 <core_name>_rx_startup_fsm 模块实例连接。
分辨率:
要解决这一问题,请在 <core_name>_wrapper.v 文件的 <core_name>_rx_startup_fsm 模块实例中进行以下更新。
请参考以下代码段进行必要的编辑:
从以下内容更新:
.RXRESETDONE (rxfsm_rxresetdone_r1),
更新至:
.RXRESETDONE (rxfsm_rxresetdone_r),
影响:
所有基于 Aurora 8B10B、面向 Artix-7 的设计如果满足以下条件,都必须更新。
使用 Vivado 2015.2 或更早版本生成的 Aurora 8B10B IP 的量产设计不受影响。该问题将在 Vivado 2016.2 中解决。
修订历史:
05/02/2016——初始版本
Answer Number | 问答标题 | 问题版本 | 已解决问题的版本 |
---|---|---|---|
51553 | Design Advisory Master Answer Record for LogiCORE IP Aurora 8B10B and Aurora 64B66B | N/A | N/A |