下图展示了 40G/50G PCS 的时钟架构。数据路径中有 3 个时钟域,如下图中虚线所示:
refclk_p0、refclk_n0 和 tx_serdes_refclk
refclk
差分对是必需的,用作为 FPGA 的输入。设计示例包含缓冲器,用于将该时钟转换为单端信号 refclk
,此信号用作为 GT 块的参考时钟。tx_serdes_refclk
直接衍生自 refclk
。请注意,必须选择 refclk
,以确保 tx_mii_clk
满足 802.3 的要求,即范围应分别在 312.5 MHz 的 100 ppm 内(针对 40G)和 390.625 MHz 的 100 ppm 内(针对 50G)。
tx_mii_clk
tx_mii_clk
是输出,与 tx_serdes_refclk
相同。整个 TX 路径由此时钟驱动。您必须将 TX 路径 mii 总线同步到此时钟输出。所有 TX 控制信号和状态信号均以此时钟为参考。
rx_serdes_clk
rx_serdes_clk
衍生自 GT 块中的输入数据串流。输入数据串流由此时钟域中的 RX 核进行处理。
rx_clk_out
提供的 rx_clk_out
输出信号可供 RX 核所处理的 RX 控制信号和状态信号作为参考。其频率与 rx_serdes_clk
相同。
rx_mii_clk
rx_mii_clk
输入必须同步到 RX XLGMII/50GMII 数据总线。此时钟和 RX XLGMII/50GMII 总线必须在所需频率(即 312.5 MHz (40G) 和 390.625 MHz (50G))的 100 ppm 内。
dclk
dclk
信号必须为稳定且便于使用的时钟。它用作为 GT 帮助程序块(用于启动 GT 本身)的参考频率。在设计示例中,典型值为 75 MHz,该值直接衍生自 VCU107 评估板上可用的 300 MHz 时钟。请注意,GT 帮助程序块必须已知实际频率才能正常运行。