7 series FPGAs Transceiver Wizard IP核使用和测试

学习FPGA一段时间了,前面一直没有系统的总结,这学期把在项目中用到的IP核和一些调试过程中遇到的问题总结一下发出来,坚持下去,一起进步!

今天总结一下的GTH核的使用和测试。

软件版本:Vivado 2017.4
IP核版本:7 Series FPGAs Transceivers Wizard (3.6)
FPGA:xc7vx690tfft1927

实现功能:

四路光纤数据接收,由于GTX IP核的参数由建核时完成,所以本例会说明一些针对不同项目需求需要对IP核参数进行修改的地方,进而快速入手。

IP核参数设置说明

第一页:线速率和参考时钟

在这里插入图片描述
(1)发送和接收的线速率和参考时钟,根据实际项目需求设置。

(2)Quard Column的确定需要参考手册ug476_7Series_Transceivers.pdf,和原理图中对应的管脚位置。

原理图:在这里插入图片描述

● 在手册中找到封装fft1927对应的界面,只有left_side。

● 原理图中Bank_210对应如下:

在这里插入图片描述

第二页:数据位宽和编码
在这里插入图片描述

● 黑色框的内容可根据需求更改;此页其他内容可不变,若调试过程遇见问题,则根据手册更改参数设。

第三页:对齐,终端和均衡
在这里插入图片描述

● K码:默认的K28.5,10111100即BC

在这里插入图片描述

对齐方式:如果选择错误,则会出现错位的情况。具体如何选择,如下图。
在这里插入图片描述
在本例中,数据位宽是32bit,在选择4字节对齐时,最低的字节应该是K码的值,即32’h000000BC,其他参数可不变。

第四页:在可选项中将LOOPBACK勾上,方便自环测试。

第五页:默认。

工程使用说明

● IP核生成后,生成例子工程,并添加到工程中。

● 如果没有修改过核名的话,在gtwizard_0_exdes.v ** 文件下,将gt0_rxmcommaalignen_in**,gt0_rxpcommaalignen_in括号内的值改为1(如下图),这里用到几个gtx模块就要按照序号改几处。
在这里插入图片描述

例程中一些需要关注的信号线

(1) Qx_CLK0_GTREFCLK_PAD_N_IN :x视位置而定,GTH的参考时钟

(2) soft_reset_i: IP核的复位,高复位。

(3) RXN_IN: GTH接收引脚

(4) TXP_OUT:GTH发送引脚

(5) gt0_loopback_i: 3’b000 : 非自环模式;3’b010:近端PMA自环,单板测试时选择此模式;

(6) gt0_rxnotintable_i:接收错误指示信号线,拉高时表示接收到误码。在本例中数据是32bit,gt0_rxnotintable_i 是4bit,全0时接收正常,哪1bit为1,则对应数据的那个字节有误。

(7) gt0_rxdata_i : 接收到的数据。本例中是32 bit。

(8) gt0_rxcharisk_i : 接收到的K码。本例中是4 bit。

当gt0_rxcharisk_i 某位为1时,表示gt0_rxdata_i对应的某个8位为K码。

K28,5下为 10111100,即BC。

(9) gt0_txdata_i : 要发送的数据。本例中是32 bit。

(10) gt0_txcharisk_i : 要发送的K码。本例中是4 bit。

工程修改

● 在实际使用中,还需对添加的例子工程做如下的修改,才更方便使用。

删除例程测试部分:

(1) Frame Checkers 和 Frame Generators 部分。

(2) Frame Checkes , Frame Generators相关的变量。

自环测试

gt0_loopback_i :3’b010

(1)
产生四路待发送的数据

gt0: 3e6,3e7,,,,,2325

gt1: 3e8,3e9,,,,,2327

gt2: 3e7,3e8,,,,,2326

gt3: 3ea,3eb,,,,,2329

数据开始:

在这里插入图片描述
数据结束
在这里插入图片描述

(2)
接收数据开始:
在这里插入图片描述
接收数据结束:
在这里插入图片描述
光纤的测试就结束了,正确无误,OK啦!

猜你喜欢

转载自blog.csdn.net/qq_39921762/article/details/88061931