GT高速收发器

GT高速收发器

  1. GT高速收发器概述

10G以太网子系统通过AXI4-Stream接口提供10gb /s以太网MAC、物理编码子层(PCS)和物理介质附件(PMA)传输和接收功能。该子系统还提供了可选的高精度时间戳功能,兼容IEEE Std 1588-2008(也称为IEEE1588v2)。这适用于10GBASE-R标准。10G以太网MAC子系统框图如图所示。

Xilinx 7系列FPGA全系所支持的GT(GT,Gigabyte Transceiver,G比特收发器)。通常称呼为Serdes、高速收发器、GT或者具体信号(如GTX)称呼。四种收发器主要区别是支持的线速率不同,图一可以说明在7系列里面器件类型和支持的收发器类型以及最大的收发器数量。

2.基本概念

2.1 quad

一个quad包含四个GTX/GTH transceiver channel、一个Quad PLL(QPLL),两个差分输入参考时钟接口;包括4组GT 高速收发器(GT 高速收发器有四种,差异不大,以下为GTX),基于交换机即是对应4个端口,每一个quad有着2组差分时钟,但是7系列支持南北时钟,也就是除了该quad自身拥有的2组差分时钟,该quad还可以被上下两个quad的总共4组差分时钟驱动。也即一个quad的时钟来源为自己的差分时钟,以及南北时钟。7系列的FPGA中,所有GTX的quad位于模具一侧的单个列中。

2.2 bank

每个bank的接口标准由其接口电压VCCO决定,一个bank只能有一种VCCO,不同bank的VCCO可以不同,只有相同电气标准的端口才能连接在一起。7系列FPGA中是按照bank来进行划分,而对于quad来说,一个quad相当于一个bank,quad中4个GTX所用的电压驱动一样。网上很多资料都说一个bank为一个quad,其实不完全对,一个bank包括很多接口标准一样的IO口,而quad只是其中一部分,但是平常大家都叫quad为bank。

2.3 channel

每一个串行高速收发器称为一个Channel,其主要由channel PLL(CPLL) 、TX和RX组成。

3.GT时钟 

3.1Quad时钟

每个Quad的时钟结构如图所示:

红色方框表示两个外部差分参考时钟源。

绿色方框是来自其他Quad的参考时钟输入,7系列FPGA支持使用相邻(南北方向)Quad的参考时钟作为当前Quad的参考时钟。

多路参考时钟源经过一个选择器之后,分两路进入QPLL和CPLL,其中蓝色方框是QPLL,黄色方框是CPLL。

CPLL与QPLL的区别

对于每个GTX Channel来说,可以独立选择参考时钟,可以选择QPLL或者CPLL,区别在于两者支持的线速率不同,QPLL支持的线速率高于CPLL。 CPLL支持的线速率1.6GHz到3.3GHZ之间;QPLL来说,GTX支持的线速率分两档,Lower Baud支持5.93GHz~8.0GHz,Upper Baud支持9.8GHz~12.5GHz,对于GTH则不分档位,支持的线速率为8.0GHz~13.1GHz。

3.2 Quad或Channel驱动时钟的选择

(1)Quad或Channel由同一个时钟驱动

(2)CHANNEL的接收端和发送端独立选择驱动时钟

每一个Quad有两个外部参考时钟,因此对于每一个Quad来说,也可以选择两个不同的参考时钟,每一个CHANNEL的接收端和发送端都可以独立选择驱动时钟,如图所示:

 

如果用户需要使用其他Quad的参考时钟源来作为当前Quad的参考时钟,在满足下面三个条件的情况下可以使用:

  1. 只能使用当前Quad上方的Quad的参考时钟;
  2. 只能使用当前Quad下方的Quad的参考时钟;
  3. 一个Quad的参考时钟源不能驱动超过3个Quad的收发器(只能驱动当前Quad和上下方相邻两个Quad);

        满足上面的条件,就可以把其他Quad的参考时钟配置成当前Quad的参考时钟,如图所示,注意图中红色方框表示相邻的Quad:

 

3.3QPLL时钟来源与时钟生成

 

一个quad可以由6组差分时钟驱动,对应图四中的前六组差分时钟,COMMON可以产生两个时钟,QPLLOUTCLK给GTX的收发端用,QPLLOUTREFCLK是用来生成TXOUTCLK和RXOUTCLK的。

3.4CPLL时钟来源与时钟生成

 

CPLL和QPLL一样,由6组差分时钟的其中一组驱动,当CPLL和QPLL的驱动时钟一样的时候,其实此时CPLL的驱动时钟就是QPLLOUTREFCLK(下面会讲)。QPLLOUTCLK和CPLLOUTputCLK通过一个由SYSCLKSEL控制的选择器来驱动GTX的收发端。

3.5 COMMON区域和CHANNEL区域的时钟关系

 

3.6 发送与接收CHANNEL时钟来源

 

发送CHANNEL

  1. TXOUTCLKPCS and TXOUTCLKFABRIC为冗余设计。
  2. QPLLCLK和QPLLREFCLK都为COMMON输出的时钟。
  3. TXOUTCLK来源其实只有两个,一个是CPLL时钟,另一个是QPLL时钟,更具体点说,TXOUTCLK来源是未经过QPLL和CPLL锁相的时钟QPLLREFCLK和在进入CPLL之前的时钟,或者是经过锁相处理之后的时钟(锁相之后还会经过相位调整或者分频等操作),但总的来说,他们的来源是外部时钟,但是外部时钟的来源有可能是其余的Quad的外部时钟或者参考时钟。

 

接收CHANNEL

接收CHANNEL中RXOUTCLK的来源不仅可以为外部时钟,还可以来自于由差分数据线由CDR恢复出来的恢复时钟(RXOUTCLKPMA)。

如果通道的发射器和接收器被配置成由同一个振荡器的参考时钟驱动,TXOUTCLK可以用来驱动RXUSRCLKRXUSRCLK2

3.6 TXOUTCLK 作用

 

TXOUTCLK通过BUFH或者BUFG,再通过MMCM分频,去驱动FPGA内部逻辑,或者生成自己的TXUSERCLK以及TXUSERLCK2,甚至也可以生成同一个Quad下其余CHANNEL的TXUSERCLK以及TXUSERLCK2。

而TXUSERCLK以及TXUSERLCK2的关系与 TX_DATA_WIDTH和TX_INT_DATAWIDTH 设置有关。具体如下图所示:

 

在使用TXUSERCLK和TXUSERLCK2时应该注意一下两点:

TXUSRCLK和TXUSRCLK2必须是上升沿对齐的,应确保它们之间的偏移尽可能小。因此,应该使用时钟资源(bufg、bufh和BUFRs)来驱动TXUSRCLK和TXUSRCLK2。

即使它们可能以不同的频率运行,TXUSRCLK、TXUSRCLK2和transmitter参考时钟必须具有与其源相同的晶振。因此TXUSRCLK和TXUSRCLK2必须是transmitter参考时钟通过乘或除得到的。

此部分具体见ug476 P108

4.TX端结构

TX内部主要分为11部分资源:FPGA TX接口、TX 8B/10B编码器、TX速率变换(Gearbox)、TX Buffer(Phase Adjust FIFO)、TX PRBS产生器(Pcie Beacon)、TX极性控制(polarity)、TX时钟输出控制(TX Clock Dividers)、TX相位控制器(TX Phase Interpolator)、TX驱动器(TX Driver)、TX PCIe检测支持和TX OOB信号支持(TX OOB and PCIe)。

         TX端可分为4个区域,分别为FPGA TX接口、PCS靠FPGA侧、PCS靠PMA侧、PMA。这四个区域有其对应的时钟域:FPGA TX接口位于TXUSCLK2时钟域内;PCS靠FPGA侧位于TXUSRCLK时钟域内;PCS靠PMA侧位于XCLK时钟域内;PMA位于TX Serial Clk时钟域内(来源于参考时钟)。

其中serial Clock的时钟来源来自于参考时钟,TXUSCLK2和TXUSRCLK来源于TXOUTCLK。

XCLK来源有两个,这是根据TXBUFFER是否使用来决定的。

GTX/GTH收发器提供两种方法解决XCLK和TXUSRCLK跨时钟域问题

  • TX Bufffer
  • TX相位对齐电路

当TXBUFFER被旁路时(不使用TXBUFFER)XCLK来源于TXUSRCLK,而XCLK和TXUSRCLK的时钟的跨时钟的处理是由相位对齐电路完成的。如果使用TXBUFFER,那么XCLK来源于TXOUTCLK,XCLK和TXUSCLK的相位调整由TXBUFFER完成。

使用TXBUFFER增加了易用性但是增大了延时,如果低延时是系统所需要的性能,则应使用TXBUFFER旁路。

5.RX端结构

按照GTX/GTH收发器RX接收信号处理顺序,RX主要包括以下关键模块:

  1. RX模拟前端
  2. RX OOB信号检测
  3. RX均衡器(DFE和LPM)
  4. RX时钟分频器(CDR)
  5. RX接收串并变换(SIPO)
  6. RX PBRS检测器
  7. RX极性控制
  8. RX字节和字对齐
  9. RX 8B/10B解码器
  10. RX Buffer(缓冲器)
  11. RX状态控制
  12. RX相位校准
  13. RX变速模块(Gearbox)
  14. FPGA RX接口

时钟间关系:

        RXUSCLK2和RXUSCLK来源于RXOUTCLK或者TXOUTCLK(发射器和接收器被配置成由同一个振荡器的参考时钟驱动),TXOUTCLK来源于QUAD的参考时钟,RXOUTCLK来源于QUAD的参考时钟或者线路恢复时钟。XCLK来源有两个,一个是RXREC(恢复时钟),一个是RXUSCLK,具体是由RX_XCLK_SEL进行选择,具体如下:

        (1)如果使能弹性缓冲区,则XCLK来源于RXREC。

        (2)如果旁路弹性缓冲区(即使能相位对齐功能),则XCLK来源于RXUSCLK(则PCS内无相位问题)。RXOUTCLK必须来自SIPO恢复的时钟,RXUSRCLK必须来自RXOUTCLK(因为RXUSCLK2和RXUSCLK来源于RXOUTCLK或者TXOUTCLK)。

RX端最重要的是CDR部分,此部分提供了一种从线路中恢复出对方时钟的方法。

  • 5
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值