xilinx IP核配置,一步一步验证Xilinx Serdes GTX最高8.0Gbps

news/2024/10/18 7:50:30/

之前用serdes一直都是跑的比较低速的应用,3.125Gbps,按照官方文档一步一步来都没出过什么问题,这次想验证一下K7系列GTX最高线速8Gbps,看看xilinx的FPGA是不是如官方文档所说。

GTX速度到底可以跑到多少

关于器件速度的问题首先找到 ds182->Kintex-7 FPGAs Data Sheet:DC and AC Switching Characteristics,可以自己对应的器件去找,不过这个在设计电路板器件选型的时候就应该考虑到,除非是买的开发部学习用。这里面包括所有的FPGA各个器件能跑到的最高频率和器件延时,建立时间,保持时间等,对高速设计有很大的参考价值。
找到GTX Transceiver Switching Characteristics
这里写图片描述

可以看到,虽然K7系列GTX最高可以跑到12.5Gbps,但这跟速度等级和封装都有关系,是在-3的速度等级,FF封装下才有的最高速度12.5Gbps。而现在手头的芯片型号是K7480TFFG901-1,所以最高支持8.0Gbps。其实这在配置IP核的时候就会发现了,线速范围是(0.5-8.0)。所以IP核都是严格和工程的器件相关联的,这点Vivado越做越好了。

一步一步配置IP核

下面一步步配置IP核,可以作为初学者参考。(第一次用的话,会被生成的一大堆文件和巨多的IO口吓到的。)包括怎么查找手册和原理图,走一遍流程,发现其实xilinx的IP核都是一个套路。

1

首先在IP核搜索GT,选择7 Series FPGAs TransceiversWizard,
这里写图片描述

没得选的,取个名字。顺便提一下,下面的shared logic选项,最好选include shared logic in example design。在有些特殊资源需要共享时,曾经遇到过这里的问题。当然不是GTX模块,是以太网的RGMII的模块,其中的IDELAY要用到IODELAY_CTRL,一个IOB就一个,同一个IOB其它地方要用到的时候必须选下面一个选项。所以最好都选下面一个,没毛病。

2

接下来就比较重要了
这里写图片描述
首先是协议,最简单的strat from cratch,就是没有协议。然后是线速,可以看到范围是(0.5-8.0)。参考时钟,这个可以根据需要选个合适的。软件都根据你的线速把参考时钟的可选项计算好了。接收端同样设置,当然可以不一样的。这是全双工,收发链路没有什么关系,也可以关掉其中一个Tx off 或Rx off。然后是PLL选择,到底选哪个呢?我们回到刚开始提到的ds182,同样一个表格下部分
这里写图片描述
其实线速决定了没得选,已经变成灰色了。
然后是比较重要的,选择用哪个收发器,这当然不是拍脑袋决定的,跟设计有关,可以查找原理图。
这里写图片描述
比如说这样的,然后去查手册UG476-> 7 Series FPGAsGTX/GTH Transceivers 找到 Placement Information by Package如下
这里写图片描述
这样就知道用的是X0Y8,输入时钟在上面的原理图可以找到,是同一组的clk0。
最后,把vivado lab tools勾上,这样才可以生产example工程可以参考。

3

继续
这里写图片描述
之前一直用的是8b10b,这次尝试一下64b66b,后者本来就是高带宽下的一个编码协议,效率更高。为什么要用8b10b,64b66b包括后面的扰码一句话概括就是增加频率分量有利于CDR(时钟数据恢复)和减少直流,两个是不同的原因。具体的可以百度。最下面的可选端口为了简单,全部去掉。

4

这里写图片描述
由于没有选择8b10b,这一页也没什么可选的,依然把下面的可选端口全部去掉。

5

这里写图片描述
好了,pcie留着下次研究,太复杂了。可选端口其实有的挺有用的,增加了可控性,比如说环回控制,LOOPBACK。顺便说一下内部环回有四种,
1.“000”:正常模式不环回
2.“001”:近端PCS环回
3.“010”:近端PMA环回
4.“100”:远端PMA环回
5.“110”:远端PCS环回)

6

接下来是通道绑定和时钟校正
这里写图片描述
通道绑定的作用是把多个物理通道对齐,绑定成一个的逻辑通道。其实就是用FIFO消除通道间的延时不确定性。由于只有一个通道,没有绑定可言。

6

最后看一下确定对不对,注意收发时钟是250M。可以算一下,8000M/32=250M。
这里写图片描述

到这里完成一大半了。

利用IP核生成example工程

接下来生成example工程
这里写图片描述
把刚刚配置的IP右键,如图选择。
生成好后稍微改一下约束文件XDC,把DRC时钟的输入时钟约束一下。其他的不用管。

## LOC constrain for DRP_CLK_P/N 
set_property LOC G27 [get_ports  DRP_CLK_IN_P]
set_property LOC F27 [get_ports  DRP_CLK_IN_N]
set_property IOSTANDARD LVDS_25 [get_ports  DRP_CLK_IN_P]
set_property IOSTANDARD LVDS_25 [get_ports  DRP_CLK_IN_N]

可以发现直接在这儿可以改具体使用的哪个收发器。注意:在这里改的效果和上面第2步里面设置的效果一样。

set_property LOC GTXE2_CHANNEL_X0Y4 [get_cells gtx_8g_support_i/gtx_8g_init_i/inst/gtx_8g_i/gt0_gtx_8g_i/gtxe2_i]

 

 

要改的话,当然同时GTX的时钟也得改

set_property LOC AD5 [get_ports  Q1_CLK0_GTREFCLK_PAD_N_IN ] 
set_property LOC AD6 [get_ports  Q1_CLK0_GTREFCLK_PAD_P_IN ]

 

再修改一个地方,原来的ILA核抓的是解扰码前的数据,替换成解扰码后的数据可以更清楚的看到接收到的数据。

上板调试验证

好了,生成bit下进去,可以用连接线接上连个serdes的一收一发换回,或者设置内部环回,或者在两片FPGA上做实验。
这里写图片描述

可以看到error_count一直是0,说明收发正确,很稳定。
收到的数据依次是00000fb,3020100,7060504…依次递增,打开发送文件如下,和发送的一样。

00000000000000fb0100
00000000030201000000
00000000070605040000
000000000b0a09080000

实验成功证明了GTX可以跑到最高8.0Gbps。
生成的example工程可以好好研究学习一下,里面有加扰码和解扰码的过程,自己修改一下把解扰码后的数据抓出来对比一下,可以很清楚的看到收到了什么数据。包括校验模块是怎么校验的,还是值得一学的。


http://www.ppmy.cn/news/714156.html

相关文章

GT/s和GB/s(Gbps)之间含义说明

1.GT/s即Giga Transmission per second &#xff08;千兆传输/秒&#xff09;&#xff0c;每一秒内传输的次数。重点在于描述物理层通信协议的速率。也就等于一秒钟完成了多少次数据< n bit>传输。GT/s着重描述端口的速率属性&#xff0c;可以不和链路宽度等关联&#xf…

有史以来最大的 DDoS 攻击峰值达到 400 Gbps

反射 DDoS 攻击使用互联网设施来放大针对受害者的流量。上一次最大的攻击发生在去年针对Spamhaus。那个使用了“配置错误”的 DNS 服务器&#xff0c;据报道达到了 300 Gbps 的峰值。这个使用网络时间协议 (NTP)&#xff0c;据信已达到 400 gbps。 AlienVault的研究团队工程师…

sdi线缆标准_12 Gbps SDI电缆性能介绍及12 Gbps SDI电缆性能估算

在整个广播工作室或现场体育场馆传输视频是一个困难的主张。使问题复杂化的是市场向诸如4K超高清(UHD)等分辨率所需的更高带宽的转变。通过传统的串行数字接口(SDI)以12Gbps的速度移动UHD视频,同时重用现有的同轴电缆基础设施带来了额外的挑战。 现代电子电缆均衡器解决了其中…

gddr6速率_美光宣布GDDR6显存完工 速率高达14Gbps

今晨&#xff0c;美光在官方博客发布技术文章&#xff0c;表示GDDR6显存已经完成所有的设计工作并通过了内部验证&#xff0c;首发的分别是针脚带宽12Gbps和14Gbps的芯片。 针脚带宽又可以理解为等效频率&#xff0c;即12GHz和14GHz。 其实有心人应该看出来了&#xff0c;部分P…

业界第一个真正意义上开源100 Gbps NIC Corundum介绍

来源&#xff1a;内容由本人微信公众号「网络交换FPGA」编译自「FCCM2020」&#xff0c;谢谢。第一次在csdn上发文章。 FCCM2020在5月4日开始线上举行&#xff0c;对外免费。我们有幸聆听了其中一个有关100G开源NIC的介绍&#xff0c;我们对该文章进行了翻译&#xff0c;并对其…

PCIE传输速率详解、Gbps和GB的区分

PCIE通道数 1.PCIe规范&#xff0c;它又称为PCI-Express规范 2.PCIe吞吐量&#xff08;可用带宽&#xff09;计算方法&#xff1a;吞吐量 传输速率 * 编码方案&#xff0c;现行的PCIe 3.0规范&#xff0c;信号速率为8GT/s&#xff0c;编码方式是128b/130b模式&#xff0c;即…

Gbps Mbps Bps bps之间的进制转换

**首先要讲述下位(bit)与字节(B)的区别&#xff1a;**二者有着本质的区别应该注意 1B 1bit; 1B 1b;也就是我们常说的一个字节等于八位二进制数网络传输速度单位&#xff1a; Mbps 即 Milionbit pro second(百万位每秒)&#xff1b;Kbps 即 Kilobit pro second&#xff…

OptiSystem应用:100 Gbps DP QPSK

应用 •骨干网聚合取代N * 10 G LAG。 •数据中心网络聚合和企业计算。 •在100 G以太网中的传输和以太网融合。 概述 偏振复用和正交相移键控&#xff08;PM-QPSK或DP-QPSK&#xff09;的组合正在成为达到100 Gbps或更高比特率的…