GT Transceiver中的重要时钟及其关系(1)GT Transceiver参考时钟

2021-10-20 11:50:34 浏览数 (3)

前言

在更新这篇短文博客之前,先总结几个概念上的理解:

  1. QPLL以及CPLL的命令来源:QPLL:Quad-based LC tank PLL CPLL:Channel-based ring oscillator PLL
  2. GTXE2_CHANNEL/GTH2_CHANNEL是例化了1个GTX/GTH Transceiver 通道的原语名;
  3. GTXE2_COMMON/GTHE2_COMMON是礼花了1个QPLL的原语名;
  4. GT Quad是由4个GT Transceiver通道,1个QPLL,2个差分输入时钟对,1个模拟输入引脚组成的集合。

QUAD

  1. 7系列的GTX/GTH transceiver 通道的缩写是GTX/GTH transceiver,因此我们所谓的transceiver channel其实就是指的是transceiver。

例如,一个QUAD包含了4个GT transceiver channel,其实就是包含了4个transceiver。

这些概念声明,看似多余,其实不然,有助于我们理解纷繁的叫法,避免产生疑惑!疑惑就会影响我们进一步理解其他相关内容。

还有上面我所说的GT Transceiver是指GTX/GTH Transceiver,我只是懒着打太多字了,后面我还会直接叫transceiver,其实都是一个意思。

上文:https://reborn.blog.csdn.net/article/details/120662183

关于GT Transceiver的总体架构介绍中,我们提到了transceiver由两部分构成,一部分是PCS,一部分是PMA,这两者我们暂时不按部就班的详细解释,我们暂时就理解PCS是transceiver的协议部分,较软核的东西,PMA是更偏硬核的东西。

等我们理解的够多了,在正式讲它们。

正文

Transceiver的时钟,名称多,关系复杂,让初次接触它的工程师,苦不堪言。

例如外部参考时钟,内部用户时钟等等,它们之间的关系是什么呢?

本文来简介一下。

首先,我们还是先看一个QUAD的结构:

就看这幅图,和时钟有关系的结构是哪些?每一个transceiver独有的CPLL,4个transceiver共有的一个QPLL,2个外部参考时钟输入对,和REFCLK Distribution(专用参考时钟布线)。

在QUAD中,GTXE2_CHANNEL/GTHE2_CHANNEL原语以及GTXE2_COMMON/GTHE2_COMMON原语都必须例化,需要注意的是不管使用还是不使用QPLL,GT_COMMON都是要例化的(这是工具自动操作的)。

外部参考时钟输入对 IBUFDS_GTE2就是Transceiver的参考时钟输入端口,记住,1个Quad有2个参考时钟,我们称之为REFCLK0,REFCLK1,具体用哪一个,看你外部板卡设计时,实际给了哪一路。

REFCLK Distribution的上下参考时钟引脚分别为南北时钟输入引脚。用于Quad之间共享参考时钟(也就是说,不一定每一个Quad都需要外部参考时钟,有的QUAD可以和其他Quad共享参考时钟,而共享的来源就是南北时钟输入引脚)。QUAD的南北参考时钟称为GTSOUTHREFCLK以及GTNORTHREFCLK。

如下参考时钟示意图:

如果transceiver内部使用QPLL,这时候外部参考时钟就要接入QPLL,如上示意图就是这样接入的。

其结构示意图如下:

总结来说,每个QUAD中的GT Transceiver通道有6个可用的参考时钟输入:

  1. 两个外部参考时钟输入对,GTREFCLK0和GTREFCLK1
  2. 来自于QUAD上部的两个参考时钟引脚对,GTSOUTHREFCLK0和GTSOUTHREFCLK1
  3. 来自于QUAD下部的两个参考时钟引脚对,GTNORTHREFCLK0和GTNORTHREFCLK1

GT Transceiver通道的参考时钟首先来自于上面所说的6个可用时钟来源,之后,这些参考时钟进入QPLL或者CPLL,下面分别介绍:

  • QPLL的参考时钟选择详情:

这是一个多路选择器结构,时钟的来源是刚才说的6个可用的时钟来源,多了一个GTGREFCLK,这个时钟是由内部 fpga 逻辑产生的参考时钟。这个输入只用于内部测试。

QPLLREFCLKSEL是多路选择器的选择信号,选择哪一路输入作为QPLL的输入来源。

  • CPLL的参考时钟选择详情

同QPLL。

关于二者的端口以及属性,见UG476的37页,这种微观的内容不是本文的重点。

每个QUAD都有两个专用的差分参考时钟输入,可以连接外部时钟源。必须例化IBUFDS_GTE2原语才能使用这些专用的参考时钟引脚对。

用户设计将IBUFDS_GTE2输出(O)连接到GTXE2_COMMON/GTHE2_COMMON(包含QPLL)或者GTXE2_CHANNEL/GTHE2_CHANNEL(包含CPLL)原语的GTREFCLK0或GTREFCLK1,参考时钟选择多路复用器就位于该端口。

根据线速率需求,用户设计可以灵活使用QPLL或者CPLL的不同组合来驱动TX以及RX数据路径。

如下参考时钟使用详情:

示例- END -

0 人点赞