目录
1 内容简介
本章节主要介绍Xilinx GTH收发器的基本特性和结构,通过结合Xilinx官方手册UG576及个人理解,力求能够使初学者能够对GTH产生初步的认识,不再对此望而却步,万丈高楼平地起,愿与诸君上下求索,共勉励...
2 GTH收发器结构
2.1 系统框架
如图所示,UltraScale 架构中的 GTH收发器是低功耗的收发器,支持的线速率为500Mb/s到16.375Gb/s。每个收发器都包含一个独立的发射器,该发射器由 PCS 和 PMA 组成。并行数据从用户逻辑流入 TX 接口,通过 PCS 和 PMA,然后作为高速串行数据流出 TX 驱动器。同时都包含一个独立的接收器,由 PCS 和 PMA 组成。高速串行数据从电路板上的走线流入 GTH 收发器 RX 的 PMA,再流入 PCS,最后流入互连逻辑。
2.2 收发器原语结构
4个 GTHE3/4_CHANNEL原语与1个GTHE3/4_COMMON原语共同组成一个Quad(Q).
GTHE3/4_COMMON 原语包含两个 LC谐振的PLL(QPLL0 和 QPLL1)。仅当应用中需要使用该PLL时,才需要实例化 GTHE3/4_COMMON。
GTHE3/4_CHANNEL 原语由一个环路PLL(CPLL)、一个发射器和一个接收器组成。
2.3 总结归纳
(1)GT结构新提出了Quad的概念,包括4个GTHE3/4_CHANNEL原语和1个GTHE3/4_CHANNEL原语。
3 共享特性
3.1 参考时钟
3.1.1 输入/输出模式
GTH 收发器中的参考时钟结构支持两种操作模式:输入模式和输出模式。①在输入操作模式下,在专用参考时钟 I/O 引脚上提供时钟,用于驱动Quad或channel PLLs。②在输出操作模式下,来自于同一Quad内四个通道中任意一个恢复时钟 (RXRECCLKOUT) 可以路由到专用参考时钟 I/O 引脚。 然后,此输出时钟可用作不同位置的参考时钟输入。运行过程中无法改变操作模式。
3.1.1.1 输入模式
如图展示了参考时钟输入模式结构。参考时钟通过IBUFDS_GTE3/4 软件原语进行实例化。 IBUFDS_GTE3/4 软件原语的端口和属性用来控制参考时钟输入。
(1)端口(Ports)
(2)属性(Attributes)
3.1.1.2 输出模式
参考时钟输出模式可通过两个软件原语之一实现:OBUFDS_GTE3/4_ADV 和 OBUFDS_GTE3/4。原语的选择取决于具体的应用。当 RXRECCLKOUT 始终来自同一通道时,请使用 OBUFDS_GTE3/4。如果提供 RXRECCLKOUT 的通道在运行时可能会发生变化,请使用 OBUFDS_GTE3/4_ADV。使用 OBUFDS_GTE3/4_ADV 原语时,必须实例 GTHE3/4_COMMON 原语。使用 OBUFDS_GTE3/4 原语时,不需要实例化 GTHE3/4_COMMON。
1、采用OBUFDS_GTE3/4原语的参考时钟输出模式结构如图所示。
(1)端口(Ports)
(2)属性(Attributes)
2、采用 OBUFDS_GTE3/4_ADV 原语的参考时钟输出模式结构如图所示。
GTHE4_COMMON 上的端口 RXRECCLK0SEL 和 RXRECCLK1SEL 控制多路复用器,该多路复用器从 Quad 中的四个不同通道中选择 RXRECCLKOUT
(1)端口(Ports)
(2)属性(Attributes)
3.1.1.3 总结归纳
(1)外部的差分参考时钟进来后必须通过IBUFDS_GTE3/4原语转为单端提供给内部使用
(2)参考时钟有输入输出两种模式,区别在于输入模式参考的时钟源来自于外部的专用参考时钟引脚,输出模式下参考时钟通过从Quad中的channel中恢复出来的RXRECCLKOUT路由而来
3.1.2 参考时钟选择
UltraScale 器件中的 GTH 收发器提供不同的参考时钟输入选项。
从架构上看,Quad(Q)包含四个 GTHE3/4_CHANNEL 原语、一个 GTHE3/4_COMMON 原语、两个专用外部参考时钟引脚对和专用参考时钟路由。每个收发器使用中必须实例化 GTHE3/4_CHANNEL 原语。如果需要高性能 QPLL,还必须实例化 GTHE3/4_COMMON 原语。通常,Quad(Q(n))的参考时钟可以通过 GTNORTHREFCLK 从最多下方两个位置的 Quad(Q(n–1) 或 Q(n-2))获取,或通过 GTSOUTHREFCLK 从最多上方两个的 Quad(Q(n+1) 或 Q(n+2))获取。(即当前Quad的参考时钟可以通过南北不超过2个Quad区域的参考时钟路由而来)
参考时钟特性包括:
(1)南北方向的时钟路由。
(2)QPLL 或 CPLL 灵活的时钟输入。
(3)QPLL 或 CPLL 参考时钟静态或动态的选择
Quad 架构有四个 GTH 收发器、两个专用参考时钟引脚对以及专用的北或南参考时钟路由。Quad 中的每个 GTH 收发器通道都有六个可用的时钟输入:
(1)两个本地参考时钟引脚对,GTREFCLK0 或 GTREFCLK1
(2)上方 Quad 的两个参考时钟引脚对,GTSOUTHREFCLK0 或 GTSOUTHREFCLK1 (3)下方 Quad 的两个参考时钟引脚对,GTNORTHREFCLK0 或 GTNORTHREFCLK1
单个 GTHE3/4_COMMON 原语内的参考时钟多路复用器结构如图所示:
单个 GTHE3/4_CHANNEL 原语内的参考时钟多路复用器结构如图所示:
以上参考时钟的选择通过 CPLLREFCLKSEL[2:0]或者QPLLREFCLKSEL[2:0]选择
3.1.2.1 单个外部参考时钟使用模型
如图所示为多个收发器连接到多个 Quad情况下的单个外部参考时钟。用户设计将 IBUDFS_GTE3 输出连接到 GTH 收发器的 GTHE3/4_COMMON 和 GTHE3/4_CHANNEL 原语的 GTREFCLK0 端口。在这种情况下,Xilinx 实现工具会对南北布线进行必要的调整,并在需要时进行引脚交换,以将参考时钟从一个 Quad 路由到另一个 Quad。
如下图可知,某个GT专用Bank上的参考时钟可以给相邻南北区域不超过2个Quad间隔的其他Quad使用
注意:上图中 IBUFDS_GTE3/4 图是一种简化。输出端口 ODIV2 保持浮动,输入端口 CEB 设置为逻辑 0。
共享参考时钟时必须遵守以下规则,以确保满足高速设计的抖动裕度:
(1)源 Quad 上方的 Quad 数量不得超过两个。
(2)源 Quad 下方的 Quad 数量不得超过两个。
(3)以外部时钟引脚对 (MGTREFCLKN/MGTREFCLKP) 作为源的 Quad 总数不得超过五个 (或者说作为源的收发器不能超过20个)。
单个时钟引脚对最多可以驱动 20 个收发器。超过 20 个收发器的设计需要使用多个外部时钟引脚,以确保遵循控制抖动的规则。当使用多个时钟引脚时,可以使用外部缓冲器从同一振荡器驱动它们。
3.1.2.2 多个外部参考时钟使用模型
参考时钟选择架构的灵活性允许 Quad 中的每个收发器访问上下两个 Quad 的专用参考时钟。如下两图显示了属于一个 Quad 的收发器如何使用 GTNORTHREFCLK 和 GTSOUTHREFCLK 端口访问另一个 Quad 的专用参考时钟的示例。在每个 GTH 收发器 PLL 有多个参考时钟选项的情况下,用户设计需要根据设计要求设置 QPLL0/1REFCLKSEL[2:0] 和 CPLLREFCLKSEL[2:0]。
共享参考时钟时必须遵守以下规则,以确保满足高速设计的抖动裕度:
(1)源 Quad 上方的 Quad 数量不得超过两个。
(2)源 Quad 下方的 Quad 数量不得超过两个。
(3)以外部时钟引脚对 (MGTREFCLKN/MGTREFCLKP) 作为源的 Quad 总数不得超过五个 (或者说作为源的收发器不能超过20个)。
单个时钟引脚对最多可以驱动 20 个收发器。超过 20 个收发器的设计需要使用多个外部时钟引脚,以确保遵循控制抖动的规则。当使用多个时钟引脚时,可以使用外部缓冲器从同一振荡器驱动它们。
对于需要动态更改参考时钟源的多速率设计,QPLL0/1REFCLKSEL 和 CPLLREFCLKSEL 端口用于动态选择参考时钟源。选择完成后,用户设计负责通过高电平有效 CPLLPD 和 QPLL0/1RESET 端口重置 CPLL 和 QPLL,并执行重置和初始化(第 60 页)中描述的后续初始化过程。
收发器的时钟输出TXOUTCLK 和 RXOUTCLK 必须使用 BUFG_GT 缓冲器。将时钟输出连接到架构也需要使用 BUFG_GT。如果 IBUFDS 时钟需要连接到架构,也必须通过 BUFG_GT。
在设备配置时, MGTREFCLK[0/1]P 和 MGTREFCLK[0/1]N 作为输入的 IBUFDS_GTE3/4 的时钟输出只能在以下条件下使用:
(1)GTPOWERGOOD 信号已置为高电平。
(2)GTPOWERGOOD 置为高电平后,至少经过 250 µs 的延迟。
对于 UltraScale+ FPGA,UltraScale FPGA 收发器向导 1.7 版本或更高版本通过延迟 GTPOWERGOOD 信号的输出来自动处理此要求。
3.1.2.3 总结归纳
(1)CPLL和QPLL的参考时钟选择是多样的,可以选择本Quad的参考时钟,或者是南北区域不超过两个Quad区域的其他Quad的参考时钟。一般Quad可以对应于原理图上的Bank,该Bank会有两组差分的参考时钟输入,所以既可以选择本Bank的参考时钟,也可以选择相邻南北区域Bank的参考时钟。
(2)基于时钟抖动裕度(jitter margins)的考虑,南北区域跨越不应超过2,每组参考时钟驱动的Quad数量不应超过5个(或者说驱动的收发器个数不应超过20个)
(3)收发器输出的时钟TXOUTCLK 和 RXOUTCLK或者经过IBUFDS的时钟想要连接到GT结构上,必须经过BUFG_GT
4 结束语
本章初步介绍了GTH收发器的基本框架和结构,并介绍了参考时钟的模式和选择。下一期预计会在下周六更新,主要包含CPLL和QPLL以及GT的复位初始化。
大家如果发现有问题的地方欢迎批评指证,畅所欲言地交流。如果觉得本期内容对您有用,希望获得您的点赞,收藏和关注,感谢^v^。
标签:参考,GTH,引脚,原语,收发器,Xilinx,Quad,时钟 From: https://blog.csdn.net/qq_44631312/article/details/143466604