前言
上文:https://reborn.blog.csdn.net/article/details/120681972
已经讲到,每个QUAD中的GT Transceiver通道有6个可用的参考时钟输入:
- 两个外部参考时钟输入对,GTREFCLK0和GTREFCLK1
- 来自于QUAD上部的两个参考时钟引脚对,GTSOUTHREFCLK0和GTSOUTHREFCLK1
- 来自于QUAD下部的两个参考时钟引脚对,GTNORTHREFCLK0和GTNORTHREFCLK1
GT Transceiver通道的参考时钟首先来自于上面所说的6个可用时钟来源,之后,这些参考时钟进入QPLL或者CPLL。
尽管QUAD的参考时钟来源有多种选择,但是在一个独立的设计中,总需要一个或多个外部参考时钟,也就是说必须使用外部参考时钟,否则最源头的时钟来源在哪里呢?
正文
今天的内容,我们就讲外部参考时钟的使用模型,其一:单个外部参考时钟的情况,单个外部参考时钟是如何驱动多个QUAD的,或者说单个参考时钟是如何驱动多个(超过4个)transceiver的?这是本文的重点!
情形1:单个外部参考时钟驱动单个QUAD中的多个transceiver
每个QUAD有两个专用的差分时钟输入引脚(MGTREFCLK0[P/N]或 MGTREFCLK1[P/N]) ,可以连接到外部时钟源。在单个外部参考时钟使用模型中, IBUFDS_GTE2必须实例化以使用专用的差分参考时钟源之一.
这种情况很简单,一个Quad共用一个外部参考时钟,或者一个参考时钟(不一定是外部)是很常见的情况,4个transceiver一组共用一个参考时钟。
如下示意图:
一个QUAD内的4个transceiver
用户设计将 IBUFDS_GTE2的输出O连接到GTX transceiver的GTXE2_COMMON and GTXE2_CHANNEL 原语以及GTH transceiver的 GTHE2_COMMON 和 GTHE2_CHANNEL 原语。
情形2:单个外部参考时钟驱动多个QUAD中的多个transceiver
单个外部参考时钟也可以驱动多个QUAD中的多个Transceiver,例如:
单个外部参考时钟驱动多个QUAD中的多个transceiver
尽管如此,但需遵守一定的规则:
- 源QUAD上方的QUAD数量不能超过1个;
- 源QUAD下方的QUAD数量不能超过1个;
- 1个外部参考时钟所驱动的QUAD总数不超过3个,或驱动的Transceiver不超过12个。
所谓的源QUAD,指的是直接连接到外部参考时钟的QUAD。
一言以蔽之,1个外部参考时钟驱动的源QUAD上下相邻的QUAD分别不能超过1个;
这种情况是如何做到的呢?
这时可以想到我们上篇文章说到的6中参考时钟来源之南北参考时钟引脚对:
- GTSOUTHREFCLK0和GTSOUTHREFCLK1
- GTNORTHREFCLK0和GTNORTHREFCLK1
Xilinx 实现工具对南北布线进行必要的调整,并在需要时进行必要的引脚交换,以便将参考时钟从一个 Quad 转到另一个 Quad。
这是原理,设计时定制好IP,工具帮你完成一切。
- END -