微信公众号:FPGA动力联盟
博主微信号:fpga_start
微信公众号原文链接:xilinx 高速串行收发器(GTP,GTX..) 链路性能测试
本篇博主以kintex7 GTX的性能测试为例来介绍xilinx公司的高速串行收发器如何进行数据传输测试,以评估高速串行链路是否正常工作,这种测试方式称为IBERT测试,即Integrated Bit Error Ratio Test。
硬件为博主设计的基于kintex7 的数据采集板卡,如图1所示。使用了4路GTX来完成测试,其中第0路、第1路为外连的两路光纤测试,第2路、第3路为板级互连测试。GTX参考时钟选择板载差分晶振,互连设计如图2所示:
图1:硬件实物
图2:Quad118 GTX互连设计
1,打开vivado,新建工程,工程类型选择RTL Project,如图3所示:
图3:工程类型选择
2,选择相应的FPGA器件型号,本人设计的型号为xc7k325tfffg900-2,如图4所示。
图4:FPGA型号选择
3,新建工程完成后,会弹出工程界面,咱们需要添加GTX测试的IP核,如图5所示。
图5:GTX测试IP例化
4,双击IBERT7 Series GTX,进入IP设置界面。IP设置界面有4个子栏,如图6所示。
图6:IBERT 7 IP设置界面
5,咱们先设计第一栏Protocol Definition,线速率选择1.75Gbps,位宽选择32,参考时钟为板级晶振87.5MHz,硬件设计时只互联了1个GTX Quad_118(4个GTP),所以Quad数量选1,如图7所示。
图7:线速度设置
6,在第二栏Protocol Selection里,咱们硬件设计的是Quad_118,参考时钟是MGTREFCLK1_118,所以只能设置这一排的参数,如图8所示。
图8:参考时钟设置
7,在第三栏里,需要设置系统时钟,本人选择的是GTX参考时钟87.5MHz,其它默认。如图9所示。
图9:系统时钟设置
8,点击ok,完成设置,在弹出的窗口中点击Generate,完成IP的生成。如图10所示。
图10:IP生成
9,在生成的工程里,右键点击IP核,打开IP的例子设计,如图11所示。
图11:生成IP例子程序
10,打开IP的例子设计后,vivado会重新生成一个例子工程,咱们运行该工程,生成bit文件下载到电路板后即可测试。如图12所示。
图12:下载bit文件
11,Bit文件下载完成后的界面如图13所示,我们可以看到vivado已经检测到了电路板Quad118的4路GTX通道。
图13:GTX通道显示
12,点击Auto-detect links,界面会出现4路GTX的数据运行情况,如图14所示,咱们理论设计的是1.75Gbps,实际检测到的传输速率为1.693Gbps,且4路GTX的误码率都为0,说明2路光纤通道和2路板级自测通道都工作正常。
图14:GTX通道测试
13,另外,咱们还可以看看数据的眼图,点击Serial I/O Scans,并点击Create scan,选择想要看的那一路眼图,我选择第0路。如图15所示。
图15:眼图设置
14,如图16所示为第0路光纤通道的数据眼图,蓝色区域越大,表示数据传输性能越可靠。
图16:眼图结果
至此,博主就完成了GTX的测试工作,另外验证了2路光纤通道能正常的工作。