目录
1 内容简介
本章节主要内容包含两部分,一部分为上一章节提到的CPLL和QPLL的系统结构和参数,另一部分为GT IP核如何进行复位和初始化。该部分内容主要是让我们在使用GT IP核的同时,知其然而知其所以然,对内部的结构有一定的认识和了解,同时指导我们做好GT IP核复位和初始化。
2 CPLL
2.1 功能描述
每个 GTH 收发器通道包含一个基于环路震荡的PLL (CPLL)。内部通道时钟架构如图所示。TX 和 RX 时钟分频器可以单独从 QPLL0/1 或 CPLL 选择时钟,从而 TX 和 RX 数据路径可以使用不同的参考时钟输入运行在异步频率下。
CPLL 输入时钟选择在参考时钟选择和分配部分进行了描述。CPLL 输出为 TX 和 RX 时钟分频器模块提供时钟驱动,控制 PMA 和 PCS 模块所使用的串行和并行时钟的生成。如果 TX 和 RX 数据路径工作的线速率是同一 VCO 频率的整数倍,则 CPLL 可以在 TX 和 RX 数据路径之间共享。
如图展示了 CPLL 架构的概念图。输入时钟可以在反馈到相位频率检测器之前除以 系数M 分频。反馈分频器 N1 和 N2 决定了 VCO 倍增比和 CPLL 输出频率。锁定指示器块通过比较参考时钟和 VCO 反馈时钟的频率,以确定是否已实现频率锁定。
Tips:以下为简单的知识补充
框图描述:
PLL(Phase Locked Loop):利用外部输入的参考信号控制环路内部振荡信号的频率和相位。
(1)/M:输入时钟分频的系数
(2)Phase Frequency Detector :相位频率检测器,检测输入时钟和反馈时钟的相位和频率偏移,输出相应的差值信号给到后级电路用于完成相位和频率对齐
(3)Charge Pump:电荷泵,与环路滤波器(Loop Filter)共同将差值转换为电压
(4)Loop Filter:环路滤波器,与电荷泵(Charge Pump)共同将差值转换为电压
(5)VCO:压控振荡器,根据输入电压的范围,产生更高或者更低的频率振荡,从而影响反馈时钟的相位和频率。
(6)/N1,/N2:反馈时钟分频因子,用于将反馈的VCO分频
(7)Lock Indicator:锁定指示器,用于指示输出时钟已基于输入时钟完成相位和频率的调整
输出频率计算公式说明:
①PLL_CLK_OUT = VCO_CLK
②PLL_CLK_IN / M = VCO_CLK / N2 / N1
所以:PLL_CLK_OUT = PLL_CLK_IN / M * N2 * N1
GTH 收发器中的 CPLL 的标准工作范围为 2.0 GHz to 6.25 GHz。有关不同器件速度等级的确切 CPLL 工作范围的更多信息,请参阅特定器件数据表 。
如何确定CPLL输出频率(GHz)
如何确定线路速率(Gb/s)。D 表示通道中 TX 或 RX 时钟分频器块的值。PLL CLKOUT 的上升沿和下降沿均用于生成所需的线速率。
如下为可以设置的分频参数:
备注:端口和属性过多,该部分不再展示,具体可参考UG576 目录Shared Features -Channel PLL - Ports and Attributes的描述
2.2 使用模式
动态更改CPLL设置,下面描述了动态更改 CPLL 设置的事件顺序。它仅与 CPLL 的更改有关:
1. 准备就绪后(所有有效数据在发送或接收),通过端口 CPLLREFCLKSEL 和/或 DRP 对Table 2-11中列出的属性进行更改(修改属性)。
2. 遵循 CPLL Reset, page 63中详述的复位指南(复位CPLL时钟)。
3. CPLL 锁定后,置位 GTTXRESET 和/或 GTRXRESET,并遵循 GTH Transceiver TX Reset in Response to GTTXRESET Pulse, page 68和GTH Transceiver RX Reset in Response to GTRXRESET Pulse, page 78详述的指南(复位TX和RX块)。
4. 继续进行收发器操作。
有关更多信息,可了解 UltraScale FPGAs Transceivers Wizard: Product Guide for Vivado Design Suite (PG182)
注:有关该部分的配置,建议参考手册中相应章节的部分
2.3 总结归纳
(1)GTH 收发器中的 CPLL 的标准工作范围为 2.0 GHz to 6.25 GHz。
(2)CPLL或者QPLL的输入为用户选择的参考时钟,输出为TX 和 RX 时钟分频器模块提供时钟驱动,控制 PMA 和 PCS 模块所使用的串行和并行时钟的生成。
3 QPLL
3.1 功能描述
每个 Quad 包含两个基于 LC 的 PLL,称为 Quad PLLs(QPLL0 和 QPLL1)。任一QPLL可由所在 Quad 内的串行收发器通道共享,但不能与其他 Quad 中的通道共享。当以高于CPLL工作范围的线速率工作时,需要使用 QPLL0/1。GTHE3/4_COMMON 原语封装了GTH QPLL0/1,在使用任一QPLL时必须实例化该原语。
QPLL0/1 输入参考时钟选择在参考时钟选择和分配中进行了描述。QPLL0/1 输出为同一 Quad 内每个串行收发器通道的 TX 和 RX 时钟分频器模块提供时钟,控制 PMA 和 PCS 模块使用的串行和并行时钟的生成。如图显示了内部通道时钟架构:
如下图展示了 QPLL0/1 架构的概念图。输入时钟在反馈到相位频率检测器之前可以除以 M 系数进行分频。反馈分频器 N 确定 VCO 倍增比。QPLL0/1 输出频率是 VCO 频率的一半。锁定指示器块比较参考时钟和 VCO 反馈时钟的频率,以确定是否已实现频率锁定。
QPLL0/1 VCO 在两个不同的频带内工作。下表描述了这些频带的标准工作范围。有关更多信息,请参阅特定器件数据手册。
当选择较低频段 VCO 时,较高频段 VCO 将自动关闭,反之亦然。向导将根据应用要求选择适当的频段和 QPLL 设置。
如何确定 PLL 输出频率 (GHz)
如下显示如何确定线路速率(Gb/s)。D 表示通道中 TX 或 RX 时钟分频器块的值。PLL CLKOUT 的上升沿和下降沿均用于生成所需线速率。
如下为可以设置的参数:
对于 UltraScale+ FPGA,使用 QPLL 支持小数 N 功能。如下公式确定使用此功能时的 PLL 输出频率。
如何确定所给出的反馈分频器的小数部分:
备注:端口和属性过多,该部分不再展示,具体可参考UG576 目录Shared Features - Quad PLL - Ports and Attributes的描述
3.2 动态小数N针对UltraScale+ FPGAs
通常,SDM*DATA 被静态设置去创建静态小数 N 分频器,但也可以不断更新 SDM*DATA 的值以实现 TXPIPPM 提供的相同功能。如图展示了在需要动态小数 N 时如何使用 UltraScale+ GTH 收发器。由于动态小数 N 使用 QPLL 运行,因此连接到特定 QPLL 的通道没有独立的 PPM 控制。如果 QPLL0 和 QPLL1 都使用动态小数 N,则可以实现两个独立通道。
动态小数分频器的操作具有由用户操作的选通脉冲 (SDM*TOGGLE) 脉冲,该脉冲控制从结构到收发器的 SDM*DATA 传输。此处假设驱动 SDM*TOGGLE 和 SDM*DATA 的逻辑由系统时钟驱动。
注意:* 符号表示 0 或 1。例如,SDM*DATA 可以是 SDM0DATA 或 SDM1DATA。
如下两图展示了QPLL FBCLK 和系统时钟频率之间不同关系下的相同操作:
如上图有三个主要时序要求,标记为 T1、T2 和 T3。具体时序要求描述如下:
注:在启动动态更新之前,用户必须关注相对于初始 QPLL VCO 频率的频率偏差。如果与原始 VCO 频率相比,频率偏差超过 200 ppm,则必须在动态更新后置位 QPLL 复位。
3.3 动态PLL切换
可以在 TX 或 RX 侧的单个 Quad 内的多个 PLL 之间动态切换,而无需重置另一侧的 PLL 或收发器。这是假设 TX 和 RX 在独立链路中工作并且不直接相互连接。但是,根据 TX 和 RX 的确切时钟源,存在某些限制,有时需要重置。下表中提到的限制仅适用于 UltraScale+ FPGA 中的 GTH 收发器。
3.4 总结归纳
(1)任一QPLL可由所在 Quad 内的串行收发器通道共享,但不能与其他 Quad 中的通道共享。当以高于CPLL工作范围的线速率工作时,需要使用 QPLL0/1。
(2)QPLL0/1 VCO 在两个不同的频带内工作,QPLL0为9.8-16.375Ghz,QPLL1为8.0-13.0Ghz。
4 复位和初始化
设备上电和配置后,必须初始化 GTH 收发器,然后才能使用。GTH 发射器 (TX) 和接收器 (RX) 可以独立和并行初始化,如图所示。GTH 收发器 TX 和 RX 初始化包括两个步骤:
1. 初始化驱动TX/RX的PLL
2. 初始化 TX 和 RX 数据路径 (PMA + PCS)
GTH 收发器 TX 和 RX 可以从 QPLL 或 CPLL 其中之一接收时钟。TX 和 RX 使用的相关 PLL (QPLL/CPLL) 必须在 TX 和 RX 初始化之前先初始化。TX 和 RX 使用的任何 PLL 均单独复位,其复位操作完全独立于所有 TX 和 RX 复位。TX 和 RX 数据路径必须在相关 PLL 锁定后才能初始化。
GTH 收发器 TX 和 RX 使用状态机来控制初始化过程。它们被划分为几个复位区域。分区允许复位状态机按以下顺序控制复位过程:先复位 PMA,然后在TXUSERRDY或RXUSERRDY置位后复位 PCS。它还允许 PMA、PCS、和它们中的任意一个功能块在正常运行期间有需要时单独复位。
GTH 收发器提供两种类型的复位:初始化和组件复位。
(1)初始化复位:此复位用于完成 GTH 收发器初始化。必须在设备上电和配置后使用。在正常运行期间,必要时,GTTXRESET 和 GTRXRESET 还可以重新初始化 GTH 收发器 TX 和 RX。GTTXRESET 是 GTH 收发器 TX 的初始化复位端口。GTRXRESET 是 GTH 收发器 RX 的初始化复位端口。
(2)组件复位:此复位用于 GTH 收发器正常运行时的特殊情况和特定子部分复位。TX 组件复位端口包括 TXPMARESET 和 TXPCSRESET。RX 组件复位端口包括 RXPMARESET、RXDFELPMRESET、EYESCANRESET、RXPCSRESET、RXBUFRESET 和 RXOOBRESET。
本节中描述的所有复位端口在驱动为高电平时都会启动内部复位状态机。内部复位状态机将保持复位状态,直到这些相同的复位端口驱动为低电平。这些复位都是异步的。除非另有说明,否则这些异步复位的脉冲宽度准则是参考时钟的一个周期。
提示:复位端口不应用于断电的目的。
4.1 复位模式
GTH 收发器 RX 复位可在两种不同模式下运行:顺序模式和单一模式。UltraScale FPGA 中的 GTH 收发器 TX 复位仅在顺序模式下运行。
(1)顺序模式:复位状态机以初始化或组件复位输入驱动为高电平开始,并继续执行复位状态机中请求的复位状态之后的所有状态,如图所示,直至完成。当 (TX/RX)RESETDONE 从低电平转换为高电平时,表示顺序模式复位流程已完成。
图1:TX
图2:RX
单一模式:复位状态机仅在其属性设定的预定时间内独立执行所请求的组件复位。它不执行请求状态之后的任何状态。请求的复位可以是任何组件复位去复位 PMA、PCS 或它们内部的功能块。当 RXRESETDONE 从低电平转换为高电平时,表示单模式复位已完成。
GTH 收发器初始化复位必须使用顺序模式。除 TX 复位只能在顺序模式下运行外,所有组件复位都可以在顺序模式或单一模式下运行。
在 UltraScale FPGA 中,GTH 收发器使用 GTRESETSEL 在顺序复位模式和单复位模式之间进行选择。在 UltraScale+ FPGA 中,GTH 收发器使用 GTTXRESETSEL 和 GTRXRESETSEL 分别为 RX 和 TX 选择顺序复位模式和单复位模式。下表提供了适用于 GTH 收发器 TX 和 GTH 收发器 RX 的配置详细信息。复位模式对 CPLL 和 QPLL 复位没有影响。在正常运行期间,GTH 收发器 TX 或 GTH 收发器 RX 可由应用程序在顺序模式或单复位模式下复位 ,这为复位GTH 收发器的部分提供了灵活性。使用顺序模式或单复位模式时,RESETOVRD 必须驱动为低电平。在 UltraScale FPGA 中,RESETOVRD 和 GTRESETSEL 必须在任何复位断言前 300-500ns设置为所需值。在 UltraScale+ FPGA 中,必须在任何复位断言之前 300-500ns将 RESETOVRD 和 GTTXRESETSEL/GTRXRESETSEL 设置为所需值。
4.2 其他复位情况省略说明
说明:关于复位的具体细节内容过多,本文不再过多说明,可参考UG576手册的Shared Features - Reset and Initialization的描述
序号 | 分支 | 说明 |
1 | CPLL Reset | CPLL的复位时序 |
2 | QPLL0/1 Reset | QPLL0/1的复位时序 |
3 | TX Initialization and Reset | TX的初始化和复位 |
4 | GTH Transceiver TX Reset in Response to Completion of Configuration | GTH Transceiver TX Reset关于完成复位 |
5 | GTH Transceiver TX Reset in Response to GTTXRESET Pulse | GTH Transceiver TX Reset关于复位脉冲 |
6 | GTH Transceiver TX Component Reset | GTH Transceiver TX组件复位 |
7 | RX Initialization and Reset | RX的初始化和复位 |
8 | GTH Transceiver RX Reset in Response to Completion of Configuration | GTH Transceiver RX Reset关于完成复位 |
9 | GTH Transceiver RX Reset in Response to GTRXRESET Pulse | GTH Transceiver RX Reset关于复位脉冲 |
10 | GTH Transceiver RX Component Resets | GTH Transceiver RX组件复位 |
4.3 总结归纳
(1)设备上电和配置后,必须初始化 GTH 收发器,然后才能使用。
(2)GTH 收发器 TX 和 RX 初始化包括两个步骤:首先初始化驱动TX/RX的PLL,然后初始化 TX 和 RX 数据路径 (PMA + PCS),TX 和 RX 使用的相关 PLL (QPLL/CPLL) 必须在 TX 和 RX 初始化之前先初始化。
(3)复位信号高有效,各个复位信号之间是异步的关系,若无额外说明,复位信号的脉冲宽度为参考时钟的一个时钟周期(即至少为一个时钟周期)。
5 结束语
本章主要介绍了CPLL和QPLL的系统结构以及GT如何进行复位和初始化。下一期预计会在下周天更新,更新内容为数据回环(Loopback),并包含实际IP使用和环回测试。
大家如果发现有问题的地方欢迎批评指证,畅所欲言地交流。如果觉得本期内容对您有用,希望获得您的点赞,收藏和关注,感谢各位。
GT IP核手册包含的内容繁杂且晦涩,本文尽可能挑选其中重要的部分进行讲解和介绍,若有疏漏之处,万望海涵。
标签:TX,GTH,RX,复位,收发器,Xilinx,时钟 From: https://blog.csdn.net/qq_44631312/article/details/143647191