首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

GTX IP生成及参数详解(高速收发器九)

  • 25-03-04 13:21
  • 2929
  • 10428
blog.csdn.net

  点击进入高速收发器系列文章导航界面


  如下图所示,在IP Catalog中搜索gt,然后双击7 Series FPGAs Transcelvers Wizard打开IP配置界面。

在这里插入图片描述

图1 打开7 Series FPGAs Transcelvers Wizard IP

1、配置GT Selection界面

  首先进入GT Selection配置界面,这个界面主要关注红框部分。从前文对GT的时钟介绍可知,一个GT bank只有一个QPLL,红框部分表示把QPLL的代码放在IP外面实现,这样做的好处在于后续方便扩展收发器通道,便于二次开发。

在这里插入图片描述

图2 GT Selection配置界面

2、Line Rate, Transceiver Selection, and Clocking界面

  Line Rate, Transceiver Selection, and Clocking界面用于选择收发器位置和时钟,此页面左下图显示的可用收发器数量取决于所选的芯片型号和封装。

在这里插入图片描述

图3 Line Rate, Transceiver Selection, and Clocking界面

  (1)、协议选择:在协议处可以选择各种协议,本文选择白手起家,不选用其余上层协议。

在这里插入图片描述

图4 协议选择

  (2)、发送端口需要设置线速率、参考时钟频率、是否禁用接收通道。

  在本次设计中发送通道的线速率(Line Rate)设置为10Gbps,参考时钟频率(Reference Clock)设置为156.25MHz,启用接收通道。

  (3)、接收端口需要设置的参数与发送通道类似,接收通道的线速率(Line Rate)设置为10Gbps,参考时钟频率(Reference Clock)设置为156.25MHz,启用发送通道。

  (4)、用于选择高速收发器bank在FPGA内部的位置,是否启用QPLL的DRP接口,高速收发器在ZYNQ7030中的位置是固定的,位于右侧。

    Use Common DRP:勾选后,用户可以通过DRP接口动态配置QPLL,修改QPLL的参考时钟来源等等信息。

    Advanced Clocking Option:勾选后,可以把所有的参考时钟端口开放给用户,用于动态时钟切换。

    PRBS pattern generator and check:PRBS模式产生和检测功能经常用来验证信道质量测试。

  (5)、PLL选择

    对于GTX来说,如果发送通道和接收通道的线速率小于6.5Gbps,那么可以使用QPLL也可使用CPLL,否则只能使用QPLL。由于2和3处将线速率设置为10Gbps,因此此处只能使用QPLL生成的时钟作为发送通道和接收通道的时钟信号。

  (6)、收发器通道选择。
    在左下侧的框图中,可以选中相应的通道,然后在6中勾选Use GT XmYn,即可使用坐标为(Xm,Yn)的收发器。但是这种方式对于设计者来说并不方便,需要用户知道后续要使用通道在芯片中的坐标。

    还有另一种方式也可以对通道位置进行修改,就是通过约束发送和接收通道的引脚,来确定使用的通道,并且约束引脚的优先级大于此处IP设置的位置,因此常用的方式是通过约束引脚来确定使用具体的收发器资源。

    由此处可知,可以在一个IP中勾选多个通道,这种方式也行,但是更加常用的方法是生成单通道的IP,需要使用多通道时,多次例化该IP即可,这也是为什么需要把QPLL放在IP外部的原因,防止将QPLL多次例化。

    其中TX Clock Source用于确定发送通道的时钟来源,在前文分析过QPLL和CPLL的时钟只能来自GT bank的差分时钟引脚,因此TX Clock Source只能来自参考时钟0管脚或者参考时钟1管脚输入的差分时钟。

    RX Clock Source和TX Clock Source是来自同一个QPLL或者CPLL输出时钟,因此设置需要保持一致。

3、Encoding and Optional Ports界面

  如下图所示,对Encoding and Optional Ports界面进行配置,主要完成接收端编码、接收端解码、发送通道内部和接收通道内部同步数据的方式。

  (1)、发送通道的用户数据位宽及编码方式配置

    如果线速率大于6.5Gbps,那么用户数据位宽(Extemal Data Width)可以设置为32或者64位,否则用户数据位宽可以设置为16、20、32、40、64、80位。

    编码(Encoding)可以使用8B/10B、64B/66B、64B/67B,也可以不使用编码方式。

    线速率也会影响通道内部数据传输位宽的设置,如果线速率大于6.5Gbps,那么内部数据位宽(Internal Data Width)只能设置成40位,否则可以设置位16、20、32、40位。

    (Extemal Data Width)与(Internal Data Width)的相关问题在讲解发送通道的时候讲解过,需要了解的可以前往查看。

  (2)、接收通道的解码方式和数据位宽设置,与发送端保持一致即可,当然接收端和发送端的(Internal Data Width)不一致也不会影响数据传输,这个位宽是通道内部的一个位宽。

  (3)、DRP System Clock Frequecy:设置DRP接口的时钟频率,这个时钟对来源没有要求,因为是配置端口嘛,对速率一般没有要求。因此选中常用的100MHz系统时钟即可。

在这里插入图片描述

图5 配置Encoding and Optional Ports界面

  (4)、与编码相关的可选端口

表1 编码相关的可选端口
端口含义
TXBYPASS8B10B允许字节交错数据以每字节为基础旁路8B / 10B编码器,高电平有效。TX8B10BEN必须为高此信号才有用。TXBYPASS8B10B [ x] = 1,字节x绕过编码器。TXBYPASS8B10B [x] = 0,字节x使用编码器。
TXCHARDISPMODE在启用8B/10B编码时,这两个选项同时勾选可以在字节编码前将运行不一致性强制为正;只勾选“TXCHARDISPMODE”选项可以在字节编码前将运行不一致性强制为负;只勾选“TXCHARDISPVAL”选项时可以在字节编码前将运行的差异性反转;不勾选“TXCHARDISPMODE”和“ TXCHARDISPVAL”时可以保持运行的差异性不变。当发送通道不启用8B/10B编码时,可以利用“TXCHARDISPMODE”和“ TXCHARDISPVAL”扩展端口位宽。
TXCHARDISPVAL
RXCHARISCOMMA高电平有效,表示RXDATA上显示的相应字节是K码。
RXCHARISK高电平有效,当启用8B / 10B解码时,RXDATA上显示的相应字节为K字符。

  (5)、发送通道的同步设置

    在前文讲解发送通道时,经过这部分内容,可以使用buffer或者对齐电路来同步数据,buffer的劣势在于延迟比较大,对齐电路需要用户自己设计这部分电路,难度比较大。

    本文将发送端的buffer使能(勾选Enable TX Buffer),将PCS并行时钟域的时钟源(TXUSRCLK Source)设置为IP输出的时钟TXOUTCLK,并且勾选TXOUTCLK来源于发送通道的PLL参考时钟信号。

  (6)、接收通道的同步设置

    这部分内容与发送端也是类似的,只不过接收端的是弹性Buffer,相比发送端的buffer功能更多,详细内容可以查看接收通道弹性buffer部分。注意接收通道PCS并行时钟域(RXUSRCLK Source)也可以设置为TXOUTCLK。

  (7)、复位相关的可选端口

表2 复位相关的可选端口
端口含义
TXPCSRESET发送通道PCS复位信号,高电平有效。
TXPMARESET发送通道PMA复位信号,高电平有效。
TXSYSCLKSEL选择驱动TX数据路径的参考时钟源。
TXRATE传输速率改变端口,该端口动态控制TX串行时钟分频器D的设置,并与TXOUT_DIV一起使用,具体含义参考发送通道的时钟讲解。
TXBUFSTATUSTX buffer的状态,TXBUFSTATUS[1]为高电平表示TX buffer溢出或下溢状态。TXBUFSTATUS [0]表示TX buffer充满度,高电平表示TX buffer至少半满。
TX8B10BEN高电平表示启用8B / 10B编码器。
RXPCSRESET接收通道PCS复位信号,高电平有效。
RXPMARESET接收通道PMA复位信号,高电平有效。
RXSYSCLKSEL选择驱动RX数据路径的参考时钟源。
RXRATE接收速率更改端口,类似于TXPATE。
RXBUFSTATUS指示接收通道弹性buffer的状态:当检测到错误条件时,建议RX弹性缓冲器复位。(000b:在正常范围内。001b:缓冲区中的字节数小于CLK_COR_MIN_LAT。010b:缓冲区中的字节数大于CLK_COR_MAX_LAT。101b:RX弹性缓冲器下溢。110b:RX弹性缓冲区溢出)
RXBUFRESET接收通道弹性buffer复位信号,高电平有效。当接收通道弹性buffer被旁路时,不能勾选此选项。
RXCDRHOLD保持CDR控制循环冻结。
CPLLPDCPLL掉电接口。
QPLLPDQPLL掉电接口。
CLKRSVDOOB电路时钟信号。

4、Alignment, Termination, and Equalization界面

  Alignment, Termination, and Equalization界面配置如下图所示,主要包括逗号对齐和均衡处理两个部分。

在这里插入图片描述

图5 配置Alignment, Termination, and Equalization界面

  (1)、逗号相关设置

    Use Comma Detection:启用接收K码检测,用于标识数据流中的K码字符和SONET框架字符。

    Decode Valid Comma Only:启用接收逗号检测时,将检测限制在特定的已定义逗号字符,即K28.1或K28.5。

    Comma Value:选择标准逗号模式或用户定义的模式之一以输入自定义模式。

    Plus Comma:表示要匹配的正差异K码的10位二进制模式(RD+),模式的最右边位是串行到达的第一位。

    Minus Comma:表示要匹配的负视差K码的10位二进制模式,模式的最右边位是串行到达的第一位。

    Comma Mask:10位二进制模式,表示逗号匹配模式的掩码。1表示要匹配逗号模式中的相应位,0表示不关心逗号模式中的相应位。

    Align to…可以选择Any Byte Boundary、Two Byte Boundary、FourByte Boundary等选项,一般保持默认设置即可。

    Any Byte Boundary:检测到逗号时,使用逗号模式将数据流与最近的字节边界对齐。

    Two Byte Boundary:检测到逗号时,使用逗号模式将数据流与2字节边界对齐。

    FourByte Boundary:检测到逗号时,使用逗号模式将数据流与4字节边界对齐。

    Combine plus/minus commas:表示使用双逗号检测功能。

  下表是逗号检测可选的一下信号,作为辅助控制或者检测。

表3 逗号对齐可选端口
选项含义
ENPCOMMAALIGN高电平有效,当检测到K码(RD+)模式时,启用字节边界对齐过程。
ENMCOMMAALIGN高电平有效,当检测到K码(RD-)模式时,启用字节边界对齐过程
RXSLIDE高电平有效,每次置位都会将字节对齐调整一位,优先于普通逗号对齐。
RXBYTEISALIGN高电平有效,表示接收端已经完成字节对齐。
RXBYTEREALIGN高电平有效,表示接收端正在进行字节对齐。
RXCOMMADET高电平有效,表示逗号对齐逻辑在数据流中检测到逗号模式。

  (2)发送端加重、接收端均衡设置

    Differential Swing and Emphasis Mode表示选择加重的模式,xilinx提供了一些加重模式,本文选择自定义模式即可,如下图所示。

在这里插入图片描述

图6 预设的加重模式

    Equalization Mode:设置接收通道的均衡模式,根据接收通道的讲解,一般设置为LPM就行。

    Automatic Gain Control:设置接收器的自动增益控制,设置为自动即可。

在这里插入图片描述

图7 均衡模式及接收幅度设置

  Termination Voltage:有GND、Floating、AVTT、可编程等几个选项。其中GND会使内部终端网络接地,Floating可隔离网络,AVTT会将内部参考电压源应用于终端网络,选择可编程选项后,可以通过更改Trim Value的值修改接收通道终端网络的电压。

  之后就是一些可选的端口,一般会勾选极性翻转信号,TXPRECURSOR、TXPOSTCURSOR、TXDIFFCTRL等信号。这些可选信号的含义如下表所示。

表4 加重等可选信号含义
选项含义
TXPOLARITY用于发送通道的差分引脚极性翻转,高电平有效。
TXINHIBIT强制变送器输出处于稳定状态,高电平有效。
TXDIFFCTRL发送通道的摆幅控制。
TXPOSTCURSORTXPOSTCURSOR端口。
TXPRECURSORTXPRECURSOR端口。
TXMAINCURSOR高电平有效信号可启用QPI偏置。
TXQPISENN传输QPI端口(负极性)。
TXQPISENP传输QPI端口(正极性)。
TXQPIBIASEN高电平使能QPI偏置。
TXQPIWEAKUPQPI高电平有效信号发送器。
TXQPISTRONGPDOWN传输QPI掉电端口。
RXPOLARITY反转接收数据信号的极性,高电平有效。
RXDFELPMRESET复位接收DFE/LPM模块。
RXDFEAGCOVRDENDFE AGC覆盖的高电平有效信号。
RXLPMLFKLOVRDEN接收低通覆盖使能端口。
RXQPIEN禁用QPI协议的接收端接。
RXQPISENN检测输出在MGTRX N引脚上的电平状态。
RXQPISENP检测输出在MGTRX P引脚上的电平状态。
RXLPMEN高电平启用带有自适应线性均衡器的LPM模式,低电平启用高性能DFE模式使能。

5、PCIE & SATA & PRBS

  之后需要对PCIE,SATA,PRBS界面进行配置,如下图所示,这个页面多数功能与PCIE和SATA有关;当不使用这两种协议时,只需要将回环控制引出即可,其余设置保持默认即可。

在这里插入图片描述

图8 PCIE & SATA & PRBS

  (1)PCIE和SATA协议相关的设置

    Enable PCI Express:启用PCI Express特定的某些功能,包括启用PCI Express断电模式和PCIe通道绑定的选项。当收发器用于PCI Express时,应勾选此选项。

    SATA COM Sequence的Bursts:表示声明COM匹配的突发序列数,取[0,7]的整数值,默认为4。

    SATA COM Sequence的Idles:指示声明COM匹配的空闲序列的数量,取[0,7]的整数值,每个空闲信号都是一个OOB信号,其长度与COMINIT/ COMRESET或COMWAKE相匹配。

  PCIE过渡时间(Transition Time)包含To P2、From P2、TO/From Non P2三个参数,但本工程并不会使用这些参数。

    To P2:取值范围[0,65535],设置计数器以确定PCI Express到P2电源状态的转换时间,默认值为100。

    From P2:取值范围[0,65535],设置计数器以确定PCI Express从P2电源状态的转换时间,默认值为60。

    TO/From Non P2:取值范围[0,65535],设置计数器以确定PCI Express进入或离开P2以外的电源状态的转换时间,默认值为25。

  其余的端口信号如下表所示。

表5 可选的端口信号
选项含义
LOOPBACK回环模式的设置信号。
RXCOMWAKEDET唤醒检测信号,高电平有效。
TXDETECTRXPIPE接口,用于符合PCI Express规范的控制信号。功能取决于TXPOWERDOWN、RXPOWERDOWN、TXELECIDLE、TXCHARDISPMODE和TXCHARDISPVAL的状态。如果RXSTATUS编码格式设置为SATA,则此端口不可用。
RXSTATUS3位接收器状态信号,该信号的编码取决于RXSTATUS编码格式的设置。
TXCOMINIT传输初始化端口。
TXELECIDLE将变送器驱动至电气空闲状态(无差分电压)。在PCI Express模式下,用于电气空闲模式。功能取决于TXPOWERDOWN、RXPOWERDOWN、TXELECIDLE、TXCHARDISPMODE和TXCHARDISPVAL的状态。
RXVALID高电平有效PCI Express接收OOB/信标信号。指示RXDATA和RXCHARISK[3:0]上的符号锁定和有效数据。
TXCOMSASOOB信号。
PHYSTATUSPCI Express接收检测支持信号,表示完成了几个PHY功能。
RXCOMINITDET高电平有效初始化检测信号。
TXCOMWAKEOOB信号。
RXCOMSASDETSATA的高电平有效检测信号。
TXCOMFINISHOOB的完成。
TXPOWERDOWN发送通道的掉电端口。
RXPOWERDOWN接收通道的掉电端口。

  (2)、OOB功能相关设置

    Use RX OOB Signal Detection:启用内部OOB信号检测器,OOB信号检测用于PCIe和SATA。

    Use PRBS Detector:启用内部PRBS检测器,应用程序可以使用该功能来实现内置自测。

    Use Port TXPRBSSEL:选择PRBS传输控制端口。

    Use Port TXPRBSFORCEERR:启用PRBS强制误差控制端口,将错误数据插入比特流。

    RXPRBSERR_LOOPBACK:选择此选项将RXPRBSERR位回送至同一收发器的TXPRBSFORCEERR。

  该页面就配置完成了,可选的端口很多,但如果不使用PCIE和SATA协议,只需要勾选回环模式控制即可。

6、CB and CC Sequence页面配置

  最后一个配置页面如下所示,主要包含通道绑定和时钟校准两部分,其中通道绑定是指同时使用多个通道时,多个通道之间需要同步数据,防止数据错位引发的错误,典型应用就是PCIE。

  时钟校准可以查看接收通道的讲解,已经详细讲解过原理,此处不再赘述。

在这里插入图片描述

图9 配置CB and CC Sequence页面

  (1)通道绑定相关设置

    Use Channel Bonding:使用唯一字符序列启用接收器通道绑定逻辑。识别后,允许在接收缓冲器中添加或删除这些字符,以对多个数据收发器进行字节对齐。

    Use Two Channel Bonding Sequences:激活可选的第二通道绑定序列,检测到任一序列都会触发通道绑定。

    Sequence Max Skew:从下拉列表中选择通道绑定可以处理的最大字符倾斜。必须始终小于通道绑定序列之间最小距离的一半。

    Sequence Length:从下拉列表中选择唯一通道绑定序列中的字符数。

  本文只使用了一个收发器,所以不需要使用通道对齐。

  (2)、时钟校准

    Use Clock Correction:使用唯一字符序列使能接收器时钟校正逻辑。识别后,允许在接收通道的弹性buffer中添加或删除这些字符,以防止由于发送/接收时钟频率的微小差异而导致弹性buffer下溢或上溢。

    PPM Offset:指示发送和接收时钟之间的PPM偏移。

    Use Two Clock Correction Sequences:激活可选的第二时钟校正序列,检测到任一序列都会触发时钟校正。

    Periodicity of the CC Sequence:指示在数据流中插入CC序列的间隔。

    Sequence Length:从下拉列表中选择唯一时钟校正序列中的字符(子序列)数量。

  本文设置两个字符用于时钟纠正,分别是K28.5的8’hBC和8’h50,当弹性buffer中数据过少时,可以复制8’hBC和8’h50这两个字符,存入弹性buffer,防止其下溢出。

  至此GTX IP的配置就完成了,参数相对其他IP来说会比较多,但是经过前几节文章的讲解,对于常用参数应该还是比较容易理解,GTX可以自定义PHY功能,所以掌握这个IP至关重要。

  最终IP配置结果如下所示,参考时钟使用156.25MHz,接收通道和发送通道的用户时钟信号频率均为250MHz。发送通道和接收通道都启用了buffer作为缓冲,同步数据,代价是延迟会比较大,约为几十个时钟周期。

在这里插入图片描述

图10 IP配置汇总

  关于GTX IP配置的讲解到此结束,参数说明参考PG168手册,该手册可以在xilinx官网获取,也可以在公众号后台回复“xilinx手册”(不包括引号)获取。GTP的时钟配置应该会有部分区别,其余配置应该差不多。


  如果对文章内容理解有疑惑或者对代码不理解,可以在评论区或者后台留言,看到后均会回复!

  如果本文对您有帮助,还请多多点赞?、评论?和收藏⭐!您的支持是我更新的最大动力!将持续更新工程!

数字站
微信公众号
提供部分电子书,持续为分享FPGA相关知识。
注:本文转载自blog.csdn.net的电路_fpga的文章"https://blog.csdn.net/weixin_50810761/article/details/138258334"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2491) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top