GTP的专业时钟(GTPE2_COMMON)


在第三章介绍了GTP的时钟结构,主要是讲时钟与各个模块之间的联系,本章是在这基础之上阐述外部时钟与模块内部的关联,如下图是从ug482截取出来的发送模块的时钟架构。在这里首先说明一下,如果是用的GTX,看到用户手册是《ug476》会与本图有些区别,主要是多了CPLL,支持每通道的1.8Gbps到3.6Gbps的速率选择,它与QPLL是二选一的,好了。

这图描述了从时钟输入引脚到“GTPE2_CHANNEL”的整个流程。

 image.png

接下来来分析一下下图,

1) “PLL0/1OUTCLK”和“PLL0/1REFCLK”是从“GTPE2_COMMON”这个硬核产生的,如下图所示, 

 image.png

其中“PLL0/1OUTCLK”是线速率,也就是在选项卡里配的。“PLL0/1REFCLK”是参考时钟,这两类四个信号都是必须接入的,然后通过“TXSYSCLKSEL”选择,这是一个2bit数,选择方式如上图所示了。这个选择信号可以动态配置也可以根据选项卡配置生成,如果说要动态配置就需要在选项卡勾选这个信号

 image.png

2)“PLL0/1OUTCLK”这一路经过选择后进入“TX PMA”的相位插值器“Phase Interp”随后分两路到D分配器和并转串模块“PISO”,这里它这个图画错了,应该是如红线所示,按原图逻辑不符,具体可见下文分析。

3)这里的相位插值器“Phase Interp”只是实现相位调整功能,而对该模块的控制模块是在PCS模块中,可见第四章所示。

4)“/D”分频器为我们提供了每通道实现不一样速率的方式,但只能实现1、2、4、8分频。所以每个发送器PMA模块都有一个D分频器,它将PLL的时钟分频,以降低线路速率。此串行时钟分频器D可以为具有固定线路速率的应用静态设置,也可以针对具有多个线路速率的协议动态更改。要在固定线路速率应用中使用D分频器,必须将TXOUT_DIV属性设置为适当的值,并且TXRATE端口需要连接到3'b000。要在多个线速应用中使用D分频器,TXRATE端口用于动态选择D分频器值。TXOUT_DIV属性和TXRATE端口必须在器件配置时选择相同的D分频器值。器件配置后,TXRATE用于动态更改D分频器值。

如果选择可配置就需要在配置选项卡中选择该信号,默认是不分频的

 image.png

 

5)由上一章得知,内部数据位宽只能是16或者20,所以如果位宽是16则对串行时钟进行4分频,如果是20则对串行时钟进行5分频,随后对其进行2分频

6)分频数字经过有三个路由方向,一是“TXOUTCLKPCS”直接输出,二是到选择器,

选择器汇集了五路时钟信号供我们选择,官方推荐建议我们选择“TXOUTCLKPCS”这个时钟

 image.png

TXOUTCLKSEL = 3'b011或3'b100:TXPLLREFCLK_DIV1或TXPLLREFCLK_DIV2是PLL0或PLL1的输入参考时钟,具体取决于TXSYSCLKSEL [1]的设置。  TXPLLREFCLK是推荐用于一般用途的时钟,并且是TX缓冲器旁路模式所需的时钟。

7)“TXOUTCLK”输出时钟就已经输出到“GTPE2_CHANNEL”外了,由它产生用户时钟






快来扫描下方二维码关注公众号,领取站内所有相关资料,所有哦~

有建议、有需求、有疑问、联系我

<