大家好!
我们有一个项目希望将 ADC08DJ3200连接到 Kintex Ultrascale (Xilinx 的 KCU105)。 我已开始在仿真中使用 TI 的 JESD204C IP、并使用环回板了解它如何工作、然后再连接 ADC08DJ3200EVM、我遇到了问题。 我先从 IP 附带的示例设计开始、一切在仿真和电路板上都可以正常工作、但当我将 rx_sys_clock 从156.25更改为300MHz (我要使用的时钟频率)时、会有些事情发生、但它会停止工作。
如需参考、目前我使用的线路速率为12.5Gb/s (与外部设计相同)、但希望在所有扭矩消除后将其降低至8Gb/s。 我的编码是8B/10B、我的用户数据宽度是64。 我的 Jesd204参数是 Kintx Ultrascale SO GTH 收发器上的8位分辨率、8通道、参考时钟156.25MHz、F val 为1、K val 为32、作为 JMODE5配置的 ADC08DJ3200数据表。 正如我之前所说的、多路设计适用于硬件、因此我认为这不是问题。 我不需要确定性延迟。
首先要发生的是 rx_sys_clock 看起来会与 sysref 进行交互、但我不知道为什么会这样。 在数据表中、可以看到 sysref 是线速率和 JESD204属性的函数、但为什么要在 sysref 不是 rx_sys_clk 的倍数时去同步 lmfc? 我在这里遗漏了什么吗?
发生的另一件事是、当我的 rx_sys_clk 针对300MHz 并将数据置于模拟中时、正确的数据持续了十分之一 us、但之后、最后四个字节似乎是随机的。 如果我将 Rx_sys_clk 放至200MHz 而不是300MHz、似乎需要更长的时间才能开始读数橡胶。 数据表指出、对于64位接口、rx_sys_clk 应高于实际的线速率/80。 当我将 rx_sys_clk 恰好放置到该频率时、它将无问题地运行、但是当我增加该频率时、它将开始运行。 硬件和仿真中也会出现同样的现象。 我已经在仿真中截取了它的外观。 这里还有同样的道理、我在这里遗漏了什么东西吗? 我不明白它为什么不起作用
如果你有任何其他见解,我真的很感激。
此致、
Étienne