核需要 100 MHz、125 MHz 或 250 MHz 的参考时钟输入。如需了解更多信息,请参阅赛灵思 PCI Express 解决方案中心内的答复记录。
适用规则如下:
- 参考时钟可采用同步或异步时钟,最高 ±300 PPM 或 600 PPM(最差情况)。(如果启用扩展频谱时钟 (SSC),那么必须采用同步链路。)
-
PCLK
是 PIPE 接口的基准时钟 (primary clock)。 - 除
PCLK
之外,还需要另 2 个时钟(CORECLK
和USERCLK
)以支持该核。 -
BUFG_GT
用于生成核时钟。这些时钟全部从TXOUTCLK
管脚驱动,此管脚为通过 CPLL 衍生的时钟(源自GTREFCLK0
)。在使用 QPLL 的应用中,仅当继续从 CPLL 衍生TXOUTCLK
时,才会将 QPLL 提供给 GT PCS/PMA 块。 -
UltraScale+™
GTH 参考时钟的时钟源必须直接来自
IBUFDS_GTE4
。 - 要将参考时钟用于 FPGA
常规互连,必须使用另一个
BUFG_GT
。
图 1. 时钟架构
所有 PCIe 时钟(pipe_clk
、core_clk
、user_clk
和 mcap_clk
)均由 BUFG_GT
(源自 TXOUTCLK
管脚)驱动。
这些时钟是通过 CPLL 衍生的时钟(源自 GTREFCLK0
)。在使用 QPLL 的应用中,仅当继续从 CPLL 衍生 TXOUTCLK
时,才会将 QPLL 提供给 GT PCS/PMA 块。核的所有用户接口信号的时序约束都与相同时钟 (user_clk
) 有关,根据配置的链路速度和宽度,该时钟频率可以是 62.5 MHz、125 MHz 或 250 MHz(请参阅上图)。
在典型 PCI Express® 解决方案中,PCI Express 参考时钟为扩展频谱时钟 (SSC),提供的频率为 100 MHz。在大部分商用 PCI Express 系统中,都无法禁用 SSC。如需了解有关 SSC 和 PCI Express 的更多信息,请参阅 《PCI Express 基本规范第 3.0 版》中的章节 4.3.7.1.1 。
重要: 由于大部分主机系统的参考时钟上都有 SSC,所有插卡设计都必须使用同步时钟设置。对于使用时隙时钟的器件,在
Vivado®
IP 目录中必须启用“Link Status”(链路状态)寄存器中的“Slot Clock Configuration”(时隙时钟配置)设置。
每个链路伙伴器件都共享相同时钟源。下图显示了使用 100 MHz 参考时钟的系统。即使器件包含在嵌入式系统中,只要系统使用商用 PCI Express 根联合体或开关并配合采用典型主板时钟设置方案,就仍应使用同步时钟设置。
注释: 时钟设置图显示了开发板布局的高层表示法。执行开发板布局时请确保耦合、端接和详细信息都正确无误。请参阅
UltraScale 架构 GTH 收发器用户指南(UG576)
图 2. 使用 100 MHz 参考时钟的嵌入式系统
图 3. 使用 100 MHz 参考时钟的开放式系统插卡
PCIe 核会检查确认 GT 电源稳定,然后再启用时钟。
- 这导致针对由
IBUFDS_GTE4
(PCIe 参考时钟)驱动的BUFG_GT
,将产生逻辑驱动的 CE(而不是 VCC)。 - 在 CE 中执行此更改之前,如有另一个(并行)
BUFG_GT
已连接到IBUFDS_GTE4
且 CE 由 VCC 驱动,那么由 opt_design/MLO 插入的BUFG_GT_SYNC
可驱动这 2 个BUFG_GT
。 - 如有并行
BUFG_GT
与 PCIeBUFG_GT
时钟不共享相同的 CE,那么 2 个BUFG_GT_SYNC
由 opt_design/MLO 插入。 - 由于针对
IBUFDS_GTE4
驱动的BUFG_GT
只能有 1 个BUFG_GT_SYNC
,布线器不知晓如何处理第 2 个BUFG_GT_SYNC
并且不会对IBUFDS_GTE4/ODIV2
驱动的时钟信号线进行布线。 - 您必须确保由
IBUFDS_GTE4
驱动的BUFG_GT
具有相同的 CE/CLR 管脚。