问答 店铺
热搜: ZYNQ FPGA discuz

QQ登录

只需一步,快速开始

微信登录

微信扫码,快速开始

微信扫一扫 分享朋友圈

已有 63 人浏览分享

开启左侧

[米联客-XILINX-H3_CZ08_7100] FPGA_GTX光口通信篇连载-01 利用IBERT进行GTX信号测试

[复制链接]
63 0
AMD-FPGA课程
AMD课程: 通信方案 » 8B10B/64/66B通信方案
AMD板卡: MLK-Fx系列 » 预留
软件版本:vitis202.1(vivado2021.1)
操作系统:WIN10 64bit
硬件平台:适用 XILINX A7/K7/Z7/ZU/KU 系列 FPGA
登录“米联客”FPGA 社区-www.uisrc.com 视频课程、答疑解惑!

1.1 概述

随着数字通信技术的进一步发展,各类数据的传输方案对带宽的需求迅猛增长,传统的并行总线的数据传输方式已经远远不能满足如万兆以太网、PCI-Express、SRIO、SFP 等技术方案的需求,这个时候,促使高速串行数据开始被广泛地使用,Xilinx 系列 FPGA 内部集成了能实现高速数据收的发串并/并串转换、预加重、接收均衡、CDR、8B/10B 线路编解码、弹性 buffer、通道绑定和时钟修正等模块,可极大地减小时钟扭曲、信号衰减和线路噪声对接收性能的影响,从而使传输速率进一步提高,可用于实现万兆以太网、PCI-Express、SRIO、SFP 等常用接口。在内嵌高速串行接口技术的FPGA 被大量应用的同时,高速串行的信号质量测试也变得越来越重要,通常用示波器观察信号波形、眼图、抖动来衡量信号的质量。串行信号的抖动,反映在时域上,信号的稳定时间会变小,眼图宽度会变窄;信号的噪声,反映在信号幅度上,眼图高度变小。通俗点讲眼图的眼睛张开得越大,越端正,表示高速串行数据传输的越稳定。

为了方便用户使用,vivado中提供了一个IBERT(Integrated Bit Error Ratio Tester)的测试工具用于对Xilinx FPGA芯片的高速串行收发器进行板级硬件测试。通过IBERT我们可以直接获取误码率,观察眼图,调节串行收发器的参数,从而有助于判断可能存在的问题,便于验证硬件的稳定性和信号完整性。

1.2 电路分析
1.2.1 SFP+接口

image.jpg
1.2.2 测试工具
1)、万兆 SFP+高速堆叠线缆(SFP-10G-DAC 无源铜缆),传输距离 0.5-7M
image.jpg


2)、万兆单模双芯 LC-LC 光纤线(3m)+万兆单模光模块,具体参数如下
image.jpg image.jpg
3)、万兆多模双芯 LC-LC 光纤线(3m)+万兆多模光模块,具体参数如下
image.jpg image.jpg
1.3 测试原理

IBERT 中的 BERT 是 Bit Error Ratio Test 的缩写,指比特出错概率测试,简而言之就是误码率测试。Vivado 中IBERT 工具的测试原理是通过收发器由外部回环进行自收自发而实现。就是将同一组收发器的 TX 和 RX 进行短接,TX 发送端通过发送某种特定序列的数据流,在 RX 接收端接收后,通过比对发送和接收的数据,从而得出误码率和眼图信息,来验证开发板 GTX 部分工作的稳定性和可靠性。

1.4 IBERT 设置

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

image.jpg

image.jpg
1.4.1 万兆 10.3125G 速率

如下图所示,IBERT测试协议选择Custom1,GTX参考时钟频率选择156.25MHz,只需要测试与SFP+连接的4组GTX,所以GTX Quad选择1。传输速率设置为10.3125Gbps,PLL类型选择QPLL0即可。

image.jpg

由于与SFP连接的GTX都位于 BANK 110,所以在QUAD_110中选择使能协议。在 MZ7100FC开发板中,从上面的硬件电路分析中可以看到,底板可编程时钟芯片输出的差分时钟是与GTX_110_CLKP1 连接,所以参考时钟要选择为MGTREFCLK1 110,下图所示。

image.jpg

不妨将GTX输入的156.25MHz的时钟同时作为IBERT内部逻辑的工作时钟,这样就可以不使用额外的外部时钟,如下图所示。当然,用户也可以将该时钟设置为外部时钟,例如通过FPGA板卡的时钟晶振提供,大家可以自行尝试。

image.jpg

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

1.4.2 千兆 1.25G 速率

如下图所示,IBERT测试协议选择Custom1,GTX参考时钟频率选择 125MHz,只需要测试与SFP+连接的4组GTX,所以GTX Quad选择1。传输速率设置为为1.25Gbps,PLL类型选择QPLL0即可。

image.jpg

由于与SFP连接的GTX 都位于BANK 110,所以在QUAD_110中选择使能协议。在MZ7100FC开发板中,从上面的硬件电路分析中可以看到,底板可编程时钟芯片输出的差分时钟是与GTX_110_CLKP1连接,所以参考时钟要选择为MGTREFCLK1 110,下图所示。

image.jpg

不妨将GTX输入的125MHz 的时钟同时作为IBERT内部逻辑的工作时钟,这样就可以不使用额外的外部时钟,如下图所示。当然,用户也可以将该时钟设置为外部时钟,例如通过FPGA板卡的时钟晶振提供,大家可以自行尝试。

image.jpg

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

1.5 使用 example design

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

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

image.jpg

由于开发板的SFP屏蔽笼的tx_disable引脚都默认接了上拉电阻。要使收发回环测试可以正常进行,必须要将tx_disable引脚拉低。因此,在example design的顶层模块,添加2个sfp_tx_disable引脚,且均置为0即可。如下图所示。

image.jpg

image.jpg

image.jpg

然后,在 xdc 文件中添加 sfp_tx_disable 引脚的约束即可,如下图所示。注意:不同的开发板管脚定义不一样

  1. #sfp_tx_disable
  2. set_property PACKAGE_PIN Y20 [get_ports {sfp_tx_disable[0]}]
  3. set_property PACKAGE_PIN AB20 [get_ports {sfp_tx_disable[1]}]
  4. set_property IOSTANDARD LVCMOS33 [get_ports {sfp_tx_disable[0]}]
  5. set_property IOSTANDARD LVCMOS33 [get_ports {sfp_tx_disable[1]}]
复制代码
image.jpg
     使用电缆进行双通道回环

image.jpg
     使用光纤进行单通道回环

1.7 GTX IBERT 测试
1.7.1 10.3125G 测试

测试10.3125G,需要将GTX的参考时钟提前设置为156.25MHZ,设置完成后,给开发板上电,在vivado中打开hardware manager,将刚才生成的bit文件和ltx文件下载到开发板中。下载完成后,出现如下图所示的界面。

image.jpg

点击auto-detec links,出现如下图所示的界面。点击Reset按钮,使IBERT进行复位,可以看到此时的Errors变为 0,代表接收端没有检测到错误。由于测试使只连接了2路GTX,因此这里只显示出了当前所使用的GTX链路。其他没有建立收发环路的GTX并没有显示。

image.jpg

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

image.jpg

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

image.jpg

添加完成后如下图所示。点击OK即可。

image.jpg

随后显示框中出现了这 2 对没有连接的 GTX,状态显示为“No Link”,如下图所示。

image.jpg

如下图所示,经过长时间测试,可以发现Errors一直为0,这代表,测试过程中没有出现任何误码,这说明板级层面的GTX硬件工作稳定。

image.jpg

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

image.jpg

在测试进行时用户也可以修改测试数据类型,例如PRBS 23-bit,PRBS 7-bit等等,接收与发送所使用的数据类型必须完全一致,修改完成后,务必点击Reset按钮,复位Errors为0。如下图所示。

image.jpg

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

image.jpg

出现如下界面,所有设置保持默认即可,当然这边可以选择link的通道,然后点击 OK。

image.jpg

此时vivado开始进行眼图扫描和生成,用户需要稍等片刻,等到Progress进度为100%时,眼图扫描过程便结束。

image.jpg

vivado 生成的眼图如下图所示。

image.jpg

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

1.7.2 1.25G 测试

这边的测试方法和上述一致,要注意的是1.25Gbps 传输的参考时钟是125MHZ,板卡需要调节对应的时钟,测试步骤这边就不再赘述,下面给出对应的测试记录,可以看到这边的open UI%达到了87.69%,数据传输信号非常好。

image.jpg

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

0

关注

10

粉丝

64

主题
精彩推荐
热门资讯
    网友晒图
      图文推荐
        
        • 微信公众平台

        • 扫描访问手机版