锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

S03-H01 利用IBERT进行GTX信号眼图测试

时间:2023-10-21 04:07:00 笼光纤连接器

软件版本:VIVADO2017.4

操作系统:WIN10

硬件平台: K7/A7系列开发板

米联客(MSXBO)论坛www.osrc.cn答疑解惑专栏开通,欢迎大家给我提供!

1.1概述

Vivado中提供了1种IBERT工具用于对Xilinx FPGA芯片的高速串行收发器进行板级硬件测试。通过IBERT我们可以获得误码率,观察眼图,调整串行收发器的参数,帮助判断可能出现的问题,验证硬件的稳定性和信号的完整性。

本教程以米联为基础MK7160FA使用开发板IBERT工具对与SFP连接的GTX进行1.25Gbps和10.3125Gbps测试速度。从误码率和眼图两个角度验证开发板GTX部分工作的稳定性和可靠性。

10G光通信需要可编程晶振,购买板材需要10G必须选择光通信。

本教程共包括ibert_1_25g和ibert_10g两个例子对应1.25Gbps和10.3125Gbps基于速率vivado 2017.4版本开发。

1.2测试原理

IBERT中的BERT是Bit Error Ratio Test缩写是指比特错误概率测试,简而言之是误码率测试。Vivado中IBERT该工具的测试原理是通过收发器从外部回环自收自发实现。也就是说,同一组收发器TX和RX进行短接,TX在特定序列中发送数据流RX接收端接收后,通过比较发送和接收的数据,得到接收端误码的统计值。

在MK7160FA在开发板中插入光模块SFP在屏蔽笼中,然后通过单个光纤将光模块TX和RX可通过短接IBERT工具对GTX进行测试。

1.3 IBERT设置

在vivado中找到IBERT 7 Series GTX这个IP核。

07993a0c74593b58bd8230430b6aa57d.png

1.3.1千兆1.25G速率

IBERT选择测试协议Custom1,GTX参考时钟选择频率选择125MHz,只需要测试和SFP连接的4组GTX,所以GTX Quad选择1。如下图所示。千兆以太网使用10000BASEX标准,采用8b/10b所以GTX传输速率为10000Mbps×10/8=1250Mbps=1.25Gbps。如下图所示。采用Custom我们暂时不研究本协议的内容,传输速率为1.25Gbps。

由于2组与SFP连接的GTX都位于BANK 116,所以在QUAD_使能协议在116中选择。MK7160FA在开发板中,底板时钟芯片输出的差分时钟与REFCLK0连接,应选择参考时钟MGTREFCLK下图所示0116。

不妨将GTX输入的125MHz同时作为时钟IBERT工作时钟的内部逻辑,这样你就不能使用金额

外部时钟如下图所示。当然,用户也可以将时钟设置为外部时钟,如核心板 FPGA提供时钟晶振,大家可以自己试试。

点击OK,完成IBERT IP核配置。

1.3.2千兆10.3125G速率

IBERT 10.3125Gbps传输设置如下:

由于2组与SFP连接的GTX都位于BANK 116,所以在QUAD_使能协议在116中选择。MK7160FA在开发板中,底板时钟芯片输出的差分时钟与REFCLK0连接,应选择参考时钟MGTREFCLK0116。

如下图所示

点击OK,完成IBERT IP核配置。

1.4使用example design

IBERT的example design稍作修改就可以直接使用对GTX进行测试。

在IBERT IP核配置完成后,右击打开example design工程。

因为开发板SFP屏蔽笼的tx_disable引脚默认连接上拉电阻。为了使收发回环试验正常进行,必须进行tx_disable因此,在example design添加4个顶层模块sfp_tx_disable引脚,均置0。如下图所示。

然后,在xdc文件中添加sfp_tx_disable引脚的限制如下图所示。注:不同的开发板管脚定义不同

set_property PACKAGE_PIN D9 [get_ports {sfp_tx_disable[0]}]

set_property PACKAGE_PIN D11 [get_ports {sfp_tx_disable[1]}]

set_property PACKAGE_PIN C9 [get_ports {sfp_tx_disable[2]}]

set_property PACKAGE_PIN D10 [get_ports {sfp_tx_disable[3]}]

set_property IOSTANDARD LVCMOS33 [get_ports {sfp_tx_disable[0]}]

set_property IOSTANDARD LVCMOS33 [get_ports {sfp_tx_disable[1]}]

set_property IOSTANDARD LVCMOS33 [get_ports {sfp_tx_disable[2]}]

set_property IOSTANDARD LVCMOS33 [get_ports {sfp_tx_disable[3]}]

接着,编译工程,生成bit文件可以。千兆和万兆example design用法相同。

1.5 GTX IBERT测试

1.5.1 1.25G测试

用户可以插入任何一个千兆光模块SFP在屏蔽笼中,也可以同时使用2、3、4个光模块插入相应的屏蔽笼中。本教程只使用一个光模块插入丝印。SFPA对应的屏蔽笼,如下图所示。

图1-5-1-1开发板测试连接图

表1-5-1 可编程时钟模式设置

光模块采用单根光纤TX和RX短接。然后,在开发板上电vivado中打开hardware manager,刚刚生成的bit文件下载到开发板上。下载后,如下图所示的界面出现。

点击OK。然后出现如下图所示的界面。Reset按钮,使IBERT复位时可以看到Errors变成0意味着接收端没有检测到错误。由于测试,只连接了一条路GTX,所以这里只显示了目前使用的内容GTX链路。其他没有建立收发环路的环节GTX没有显示。

当然,用户也可以手动将其他没有连接的GTX在当前显示栏中添加,点击下图所示的按钮。

然后,同一个GTX对应的TX和RX建立link,如下图所示。

添加后如下图所示。OK即可。

这三对没有连接的显示框随后出现在显示框中GTX,状态显示No Link如下图所示。

如下图所示,经过长时间的测试,可以发现Errors一直是0,这意味着测试过程中没有误码,说明板级GTX硬件工作稳定。

目前使用的测试数据为7bit伪随机序列。

用户还可以在测试过程中修改测试数据类型,例如PRBS 23-bit,PRBS 7-bit等等,接收和发送所使用的数据类型必须完全一致,修改后必须单击Reset按钮,复位Errors为0。如下图所示。

从数学统计的角度可以判断误码率GTX硬件稳定性,vivado还提供了一种更直观的方式来观察GTX信号完整性,即眼图。首先,点击下图所示的按钮。

所有设置都可以默认,然后单击以下界面OK。

此时vivado用户需要等一会儿才能开始扫描和生成眼图Progress当进度为100%时,眼图扫描过程就结束了。

vivado如下图所示。

从信号完整性的角度来看,眼图中间的蓝色区域越大,GTX所对应的PCB信号完整性越好。

1.5.2 10.3125G测试

10.3125G的测试方法与上述的千兆测试方法完全相同。首先,给开发板断电,将光模块插入丝印“SFP-A和SFP-B应该是屏蔽笼。通过光纤TX和RX短接。然后上电,下载example design生成的bit文件。如下图所示。

图1-5-2-1开发板测试连接图

表1-5-2 可编程时钟模式设置

图1-5-2-2 拨码开关设置

然后上电,下载example design生成的bit文件。如下图所示。

进行长时间测试后,GTX在万兆速率下的误码同样为0。如下图所示。

同理,扫描10.3125Gbps的眼图,如下图所示。10.3125Gbps速率下的眼图蓝色区域明显小于1.25Gbps速率时的眼图,而且形状发生了改变,变得有点像椭圆。这与信号的频率有关,信号的频率越高,在传输过程中的损耗越大,上下沿越来越平缓,方波会变得越来越像正弦波,眼图也会“睁得”越来越小。若使用更高的速率,眼图中的蓝色区域可能会变得更小。

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章