JESD204接口应用(FPGA侧)笔记——时钟
发布网友
发布时间:2024-10-14 15:29
我来回答
共1个回答
热心网友
时间:2024-11-28 16:34
在近期进行的一个新项目中,我接触到了JESD204B的Transmit接口,使用的是Kintex UltraScale器件。这个接口设计相当简便且功能强大。然而,在时钟配置上遇到了一个小问题,特此记录分享。
时钟配置要求
根据Xilinx器件的JESD接口文档,包括pg066和pg198,其中pg066详细介绍了JESD204接口IP的配置。文档中明确指出,refclk(收发器参考时钟)是必须提供的。同时,glblclk(用户逻辑时钟)用于数据源的产生,它与refclk共享来源。若refclk的频率在65MHz至165MHz之间,且与glblclk一致时,glblclk可以与refclk共用。但任何时候,refclk和glblclk都必须来自同一个时钟源。
refclk与glblclk可共享时钟
在第一个项目中,线速率设置为5Gbps,因此glblclk频率为125MHz,与refclk兼容。利用共享时钟方案,通过在Block Design中搭建相关模块和接口实现了这一需求。为了实现共享时钟,设计时需要确保在添加IP时选择“共用refclk与glblclk选项”。在Xilinx提供的源码中,glblclk就是通过BUFG_GT模块与refclk共享时钟。
refclk与glblclk无法共享时钟
在第二个项目中,线速率提升至10Gbps,glblclk频率调整为250MHz,超过了165MHz的*。在这种情况下,refclk和glblclk必须使用不同的时钟源。项目需求为四个link共享一个refclk,四个link共享一个glblclk。然而,在Block Design中,每个link都会生成一个符号,为glblclk提供差分时钟输入端口,且不可修改。因此,没有采用Block Design的方式实现,而是直接修改了jesd204_support.v模块的时钟端口,将差分输入改为单端,并在顶层例化jesd204_clocking.v模块用于产生glblclk,通过BUFG模块将其分发给四个link。通过这种方式,实现了一个更为灵活的时钟管理架构。
总结
在JESD204接口应用中,时钟配置是关键的一环。根据Xilinx的文档指导,合理选择和配置时钟源可以有效提升接口性能。同时,对于不同的线速率和接口需求,采用不同的时钟配置策略,可以灵活适应各种应用场景,确保数据传输的稳定性和效率。通过上述实例,我们可以看到,合理利用Xilinx的资源和工具,可以轻松应对JESD204接口在时钟配置上的挑战。