GT高速口相关知识
一.1.0:FPGA高速口不需要配置电平标准但是电平标准是CML1.1不通系列fpga对高速口的叫法异同——统称GT1.2外部结构如下两个ibufds 表示可以同时跑两种接口(pcie,万兆网)4对rx/tx对1个时钟模块包含4个cpll1个Qpll区别GTP是另外一种结构如下图这个是GTP的结构如下——A一对 tx、rx、加上 cpll 称之为一条通道称为channelB一个 bank有 4 对 tx 和 rx、两对差分时钟称为quad或者 bankC:CPLL支持的最高线速度为6.6Gb/sQPLL支持最高12.5Gb/s左右,QPLL的时钟更加精确1.3内部结构如下A:PCS是数字处理部分PMA是模拟处理部分 。1.4:如下图PCB如果接反了可以用polarity 使P N颠倒过来。二时钟架构2.0在vivado约束界面都不显示 GT参考时钟的电平标准小梅哥技术说支持LVDS也兼容LVPECL CML。2.1如下图输入给GT的参考时钟一共可选择7路A: 本Quad的2路参考时钟.B: 相邻2个Quad的共4路参考时钟.C:全局时钟网络如CMT提供的1路备选时钟源.——(由于其经过了更多内部布线抖动性能不如前6路因此优先级最低。)2.2但是一个Quad的参考时钟源不能驱动超过3个Quad上的收发器(只能驱动当前Quad和南北方相邻 两个Quad )三我们以K7-325T为例来查找具体是哪个chanel——————bank117的channel 0/1 对应x0y11 和 x0y10位置。四4.1:高速口链路信号质量排查工具,一般在跑比如8B/10B之前都需要先确认眼图正常———ibert排查问题时首先烧录示列工程看眼图确定高速口的链路信号质量。4.2:ibert配置界面Silicon Version选择器件属性的只有一种可选默认即可。number of protocols选择协议的数量根据需要选择LineRate速率根据工程选择DataWidth数据宽度根据工程选择Refclk参考钟根据工程选择TXUSRCLK sources用户时钟源选择由一个Quad中的四个通道共享选择一个通道用作用户时钟来源。将GTX输入的125MHz的时钟同时作为IBERT内部逻辑的工作时钟这样就可以不使用额外的外部时钟。4.3打开示例工程4.4使能SFP如下4.5生成bit烧录进去4.6选择链路4.7按需选择5种环回方式中的一种其实还是通过GUI界面去设置LOOPBACK信号的000:ibert设置none 模式主要验证单个GT口的外部线缆是否连接Ok------001/010:主要验证不接外部线缆的条件下的单个GT口的内部信号-------外部如下内部如下100/110:主要为了验证两个GT口的内部和外部线缆的Rx和TX全部链路的信号------GT1的TX到GT2的RX设置000,GT2的TX到GT1的RX链路设置100或者110外部内部4.8偶尔如果no-link 直接点TX_Reset/RX_Reset,看是否为没复位导致的。4.9:本次测试默认是用的7bit的伪随机序列也可以更改其他数据类型。5.0errors不是0吗为啥ber 不为0呢?————BER误码个数/发送总比特数误码个数。Errors是错误比特数是整数计数器显示为 0 就是真的没抓到错误。BER误码率 1Errors/总bit数所以BER不会为零eg并口125MHZ和串口2.5GHZ1000~1500秒没有错误才算到1e-12的误码5.1:可用如下组合进行发送高速数据一验证DK组合从00BC到FFBC。二空闲发00BC然后全D组合从0000到FFFF。三空闲发00BC然后全D组合在0000和FFFF之间切换。五GT常用技术协议18B/10B的作用A:8b/10b编码通过将8b数据编码为10b数据避免连续出现0或者1并拥有足够的位转换密度来保证时钟恢复。这种编码方式使数据传输不再需要分布时钟避免并行传输的一些缺点可以实现更高数据速率的串行传输B:可参考如下博客连接SERDES 之8B/10B-CSDN博客264b/66b的作用64b/66b编码技术是IEEE 802.3 工作组为10G 以太网提出的目的是减少编码开销。64b/66b 编码将 64bit 数据或控制信息编码成 66bit 块传输66bit 块的前两位表示同步头主要由于接收端的数据对齐和接收数据位流的同步。同步头有“01”和“10”两种“01“表示后面的 64bit 都是数据“10”表示后面的 64bit 是数据和控制信息的混合3加扰和解扰的作用避免传输信号具有周期性否则在多路传输的通信系统中容易造成串扰。4:4.1D码就是用户的发送数据。4.2K码K码是8B/10B编码体系中的控制字符集合Comma是嵌入K码里面的。4.3帧对齐Word Alignment4.31:当发送端的字符指示如txcharisk0001与接收端检测到的指示如rxcharisk0100不匹配时就说明多字节帧的字节顺序发生了偏移需要用户通过逻辑设计来调整对齐确保整个数据帧的正确拼接。——bc码的多少和数据是否对齐没有关系数据不对齐不能完全避免。4.32:0001的bc码偏移位(比如偏移到0100)是随机的吗还是有规律的呢?是不是都是会偏移成0100有没有可能偏移成0010——随机最好把4种情况的对其都做一下。6为了增加传输带宽我可以在两个bc 码之间尽可能多的增加正式数据D码的传输吗——可以但这个需要调试。不知道2个板子上的晶振误差是多少参考时钟的晶振偏差越大bc插入的越多。六Xilinx 的GT配置1图1和图2的区别是图1更加傻瓜不灵活图二直接在GT上面加协议比较推荐灵活。2参考时钟就是实际接入gt里面的参考时钟频率。2.1:上图这个就是如下图GT的位置33.a先确定 FPGA逻辑的接口位宽需求如下32bit————FPGA Interface WItdth3.b选择使能arrora 8B/103.c通过查阅数据手册————得出TX_DATA_WIDTH10*440和internal data width20为啥数据位宽减半是因为时钟是2倍3.d配置如下3.a先确定 FPGA逻辑的接口位宽需求如下16bit————FPGA Interface WItdth 16bit3.b选择使能arrora 8B/103.c通过查阅数据手册————得出TX_DATA_WIDTH10*220和internal data width20为啥数据位是一倍关系是因为时钟是1倍3.d配置如下3.1RX同理TXUSRCLK2频率 线速率/ TX_DATA_WIDTHTXUSRCLK和TXUSRCLK2 的时钟倍数关系如下图所示RX同理4.1:DRP时钟绝不能用gt的参考时钟实测会报错的。如下——应该gt的参考时钟只能局限使用数据不管是从时钟TSUSRCLK到XCLK还是从时钟XCLK到RSUSRCLK 都经过了时钟域的转换所以TX端和RX端都需要一个缓存区缓存下,因此把ip核中的Enable TX Buffer 和Enable RX Buffer 这 2 个选项给勾上.4.2推荐逗号码用K28.5Two byte boundaries 和 Any byte boundaries 在仿真上结果是一样的4.3:最终产生的示列工程如下结构框图(如果选取另一种所有结构都会包含在IP里面用户就不太方便修改)4.4实际作用可以这样用测试工程项目1:项目2:(空白方框里面放置图二的IP一般千兆网用网口万兆网就直接用光口了。4.5:有时候在XDC里面找不到约束信息.有可能就在IP核里面的还有可能约束的是坐标信息4.6:发射第一张图接收端第二张图BC会出现移位的情况。-----这是正常的现象。五基于GT的AC电容1gt时钟口一般晶振输出的差分时钟的P/N端会分别串接两个电容接GT:AC电容主要作用是去除晶振的直流和其他干扰分量变成交流信号后GT自己会用一个直流电压分量把晶体信号抬高进入电平识别范围。2gt数据口看人家原理图是加了AC电容的——1但自己实测在光纤通信和8b_10b和2711seders芯片外回环不加电容功能也正常2GT和2711seders芯片的rx和tx确实都会自己提供直流电压分量。六带宽计算1txclk125mhz,16bit数据8b/10b编码————线束率125M*16*(10/8)2.5Gbit/s
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2522165.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!