赛灵思
直播中

孙沛池

7年用户 177经验值
私信 关注
[问答]

GTP RXOUTCLK在模拟中不正确的解决办法?

嗨,
我的设计使用Atrix7以5Gbps线速运行,refclk为125MHz,外部数据宽度为16bit(内部20位,8B / 10B)。
RX / TX时钟结构与下面的帖子相同:
https://forums.xilinx.com/t5/7-Series-FPGAs/why-the-GTP-example-clock-is-not-correct/m-p/568130#M8251
GTPE2_CHANNEL的预期RXOUTCLK应为250MHz,但模拟显示为312.5MHz。
看起来Vivado仿真模型使用/ 4分频器块来生成RXOUTCLKPMA。
但是,根据UG482,/ 4或/ 5分频器块由GTPE2_CHANNEL原语的RX_DATA_WIDTH属性控制,在我的设计中,该属性设置为20并且应使用/ 5分频器块。
我不知道这是不是一个bug,有人可以建议解决方法吗?
谢谢
西蒙

回帖(3)

贾佳斌

2020-7-30 12:53:13
请为GTP运行更长的模拟,因为SIM_RESET_SPEEDUP将设置为FALSE。另请注意,AR#53561将在某些基于GTP的设计中实现.http://www.xilinx.com/support/answers/53561.html重置序列
控制数据宽度。
所以你可能正在观察这个威廉希尔官方网站 的影响。
--------------------------------------------------
----------------------------别忘了回复,给予kudo并接受为解决方案---------
--------------------------------------------------
-------------------
举报

刘文娟

2020-7-30 13:11:18
嗨venkata,
感谢您的快速回复。
我的流程如下:
1.使用defparam将EXAMPLE_SIM_GTRESET_SPEEDUP设置为“TRUE”,然后开始模拟。
2。
大约30us后,我可以看到“xx_rx_startup_fsm.v”中的rx_state转换为“MONITOR_DATA_VALID”并在那里等待大约100us。
3.它返回到“ASSERT_ALL_RESETS”并再次检查状态,因为我没有断言DATA_VALID信号。
4.当状态机第二次停在MONITOR_DATA_VALID状态时,我的测试平台断言DATA_VALID信号(虽然接收的数据不正确)并且FSM进入FSM_DONE状态,它断言rx_fsm_reset_done信号。
5.检查RXOUTCLK和RXUSERCLK(由RXOUTCLK生成),它是312.5MHz,错了。
我的设计不使用DRP界面,所以AR#53561可能不适合我认为。
似乎不应将SIM_RESET_SPEEDUP设置为TRUE,并且只有在接收到的数据正确时才应断言DATA_VALID信号。
我将尝试使用EXAMPLE_SIM_GTRESET_SPEEDUP来“FALSE”来查看结果。
如果我的流程有任何缺陷,请纠正我。
再次感谢。
西蒙
举报

刘文娟

2020-7-30 13:23:01
模拟5小时后,时钟现在正确。
谢谢venkata。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分