您的位置 首页 设计

Xilinx IP核装备,一步一步验证Xilinx Serdes GTX最高8.0Gbps

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

之前用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

Xilinx IP核装备,一步一步验证Xilinx Serdes GTX最高8.0Gbps

能够看到,尽管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,

Xilinx IP核装备,一步一步验证Xilinx Serdes GTX最高8.0Gbps

没得选的,取个姓名。趁便提一下,下面的shared logic选项,最好选include shared logic in example design。在有些特别资源需求同享时,从前遇到过这儿的问题。当然不是GTX模块,是以太网的RGMII的模块,其间的IDELAY要用到IODELAY_CTRL,一个IOB就一个,同一个IOB其它当地要用到的时分有必要选下面一个选项。所以最好都选下面一个,没缺点。

2. 接下来就比较重要了

Xilinx IP核装备,一步一步验证Xilinx Serdes GTX最高8.0Gbps

首要是协议,最简略的strat from cratch,便是没有协议。然后是线速,能够看到规模是(0.5-8.0)。参阅时钟,这个能够依据需求选个适宜的。软件都依据你的线速把参阅时钟的可选项核算好了。接纳端相同设置,当然能够不相同的。这是全双工,收发链路没有什么联系,也能够关掉其间一个Tx off 或Rx off。然后是PLL挑选,究竟选哪个呢?咱们回到刚开始说到的ds182,相同一个表格下部分

其实线速决议了没得选,现已变成灰色了。

然后是比较重要的,挑选用哪个收发器,这当然不是拍脑袋决议的,跟规划有关,能够查找原理图。

Xilinx IP核装备,一步一步验证Xilinx Serdes GTX最高8.0Gbps

比如说这样的,然后去查手册UG476-> 7 Series FPGAsGTX/GTH Transceivers 找到 Placement InformaTIon by Package如下

Xilinx IP核装备,一步一步验证Xilinx Serdes GTX最高8.0Gbps

这样就知道用的是X0Y8,输入时钟在上面的原理图能够找到,是同一组的clk0。
最终,把vivado lab tools勾上,这样才能够出产example工程能够参阅。

3. 持续

Xilinx IP核装备,一步一步验证Xilinx Serdes GTX最高8.0Gbps

之前一向用的是8b10b,这次测验一下64b66b,后者原本便是高带宽下的一个编码协议,功率更高。为什么要用8b10b,64b66b包含后边的扰码一句话归纳便是添加频率重量有利于CDR(时钟数据康复)和削减直流,两个是不同的原因。详细的能够百度。最下面的可选端口为了简略,悉数去掉。

4.

Xilinx IP核装备,一步一步验证Xilinx Serdes GTX最高8.0Gbps

因为没有挑选8b10b,这一页也没什么可选的,仍然把下面的可选端口悉数去掉。

5.

Xilinx IP核装备,一步一步验证Xilinx Serdes GTX最高8.0Gbps

好了,pcie藏着下次研讨,太杂乱了。可选端口其实有的挺有用的,添加了可控性,比如说环回操控,LOOPBACK。趁便说一下内部环回有四种,
1.“000”:正常形式不环回
2.“001”:近端PCS环回
3.“010”:近端PMA环回
4.“100”:远端PMA环回
5.“110”:远端PCS环回)

6.接下来是通道绑定和时钟校对

Xilinx IP核装备,一步一步验证Xilinx Serdes GTX最高8.0Gbps

通道绑定的作用是把多个物理通道对齐,绑定成一个的逻辑通道。其实便是用FIFO消除通道间的延时不确认性。因为只要一个通道,没有绑定可言。

7. 最终看一下确认对不对,留意收发时钟是250M。能够算一下,8000M/32=250M。

Xilinx IP核装备,一步一步验证Xilinx Serdes GTX最高8.0Gbps

到这儿完结一大半了。

运用IP核生成example工程

接下来生成example工程

Xilinx IP核装备,一步一步验证Xilinx Serdes GTX最高8.0Gbps

把刚刚装备的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上做试验。

Xilinx IP核装备,一步一步验证Xilinx Serdes GTX最高8.0Gbps

能够看到error_count一向是0,阐明收发正确,很安稳。

收到的数据顺次是00000fb,3020100,7060504…顺次递加,翻开发送文件如下,和发送的相同。
00000000000000fb0100
00000000030201000000
00000000070605040000
000000000b0a09080000

试验成功证明了GTX能够跑到最高8.0Gbps。

生成的example工程能够好好研讨学习一下,里边有加扰码宽和扰码的进程,自己修正一下把解扰码后的数据抓出来比照一下,能够很清楚的看到收到了什么数据。包含校验模块是怎样校验的,仍是值得一学的。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/sheji/340577.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部