软件版本: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核。

1.3.1千兆1.25G速率

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

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

不妨将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测试

用户可将千兆光模块插入任意1个SFP屏蔽笼内,也可以同时使用2、3、4个光模块插入相应的屏蔽笼内。本教程测试时只使用了1个光模块,插入丝印“SFPA”所对应的屏蔽笼,如下图所示。

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

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

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

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

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

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

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

随后显示框中出现了这3对没有连接的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速率时的眼图,而且形状发生了改变,变得有点像椭圆。这与信号的频率有关,信号的频率越高,在传输过程中的损耗越大,上下沿越来越平缓,方波会变得越来越像正弦波,眼图也会“睁得”越来越小。若使用更高的速率,眼图中的蓝色区域可能会变得更小。

10g gtx 光纤通信测试_S03-H01 利用IBERT进行GTX信号眼图测试相关推荐

  1. 利用 IBERT 进行 GTX 信号眼图测试

    利用 IBERT 进行 GTX 信号眼图测试 8.5.4.1 概述 Vivado中提供了1种IBERT工具用于对Xilinx FPGA芯片的高速串行收发器进行板级硬件测试.通过IBERT我们可以获取误 ...

  2. 关于利用IBERT核对GTX收发器板级测试的原理与过程详解

    一.概述 IBERT(集成误码率测试仪)是xilinx为7系列FPGA GTX收发器设计的,用于评估和监控GTX收发器.IBERT包括在FPGA逻辑中实现的模式生成器和检查器,以及对端口的访问和GTX ...

  3. 10g gtx 光纤通信测试_10G光模块知识问与答

    0G光模块是每秒可以传输10G信息的光模块,用户在使用10G光模块时或许会有一些疑问,今天我们将以问答的形式来一一给大家解开疑惑. 1.SFP+光模块和SFP光模块有什么区别? SFP和SFP+光模块 ...

  4. 10g gtx 光纤通信测试_S03-CH05_UDP 万兆光通信

    软件版本:VIVADO2017.4 操作系统:WIN10 硬件平台:MK7160FA 5.1概述 MK7160FA 开发板的4路SFP+光口均与xc7k160T芯片的GTX 串行收发器连接.使用 FF ...

  5. 10g gtx 光纤通信测试_光纤的pmd参数及测试_光纤通信

    凌海波 安徽省电信公司计划建设处 摘要: 随着10Gb/s SDH传输系统的大规模使用,对光缆的指标提出了更高的要求,尤其是光缆的PMD指标.本文介绍了光纤的PMD参数及其测试. 关键词: PMD 干 ...

  6. matlab相关性分析频谱_利用Matlab绘制正弦信号的频谱图并做相关分析[共6页]

    <利用Matlab绘制正弦信号的频谱图并做相关分析[共6页]>由会员分享,可在线阅读,更多相关<利用Matlab绘制正弦信号的频谱图并做相关分析[共6页](6页珍藏版)>请在人 ...

  7. 利用Windows内置工具winsat测试硬盘速度(SSD机械盘对比)

    利用Windows内置工具winsat测试硬盘速度(SSD&机械盘对比) 以下是红色内容是在命令行运行: C:\Users\Administrator>winsat disk Windo ...

  8. 利用GPS北斗卫星信号开发设计NTP网络时间服务器

    利用GPS北斗卫星信号开发设计NTP网络时间服务器 利用GPS北斗卫星信号开发设计NTP网络时间服务器 引言 准确的时间是天文观测所必需的.天文望远镜在特定时间内的准确指向.CCD曝光时间的控制以及不 ...

  9. 利用运放实现信号的平移

    多数ADC都是单极性的,在用ADC进行模数转换时,常要对双极性信号进行正向平移和缩放,变为一定范围内的单极性信号后,才能被ADC所使用:为简化电路设计,常用单电源供电的运放,对交流信号进行放大,此时也 ...

最新文章

  1. 昆仑网(D×××)去中心化虚拟互联网基础功能图片式介绍,请全屏看。
  2. linux 使用nginx 权限不够,对于nginx和Linux,有一些关于权限的问题。
  3. Windows下MYSQL的安装与配置
  4. 名校和非名校[两个实习生的事]
  5. Visual Studio注释快捷键
  6. 【matlab】元胞数组(由元胞数组创建元胞数组)
  7. commons-beanutils实现java深度克隆
  8. 全球100ai顶尖科学家_如何为顶尖学校学习AI撰写成功的目标陈述
  9. php 获取某周的最后一天,PHP获取本周首先天和最后一天
  10. java多分支流程图_Java 流程控制 之 分支结构(条件判断)
  11. STM32——触摸屏实验-电阻型触摸屏-M4
  12. OA系统是什么,为什么要用OA系统呢?
  13. 180天如何突击高考2-从465到378...
  14. 论文笔记【Neural Collaborative Filtering】
  15. 石头扫地机器人遇见地毯_当戴森V8遇上石头扫地机器人,彻底拯救懒癌患者
  16. 杭电计算机考研经验交流
  17. 并发编程5:Java 阻塞队列源码分析(下)
  18. 远程连接oracle01017,連接Oracle遠程數據庫錯誤:ORA-12541,ORA-12514,ORA-01017的解決方法!...
  19. 【建模干货】maya2020快捷键大全,全新整合分类,建模小白必看
  20. 开发STC89C51系列单片机需要的单片机技术

热门文章

  1. 五轴数控木工雕刻机的优势及配置
  2. Deno入门教程:Node.js 的替代品
  3. 周子衡:我所理解的DT时代
  4. Mybatis逆向工程_使用maven
  5. 共模电感与差模电感电路分析方法
  6. 如何辨别高防服务器?甜甜给您解答
  7. Leetcode刷题
  8. 手工编写html5,HTML5实现动画效果的方式汇总
  9. 手机office使用 手机office不登录 手机office不联网 手机office查询功能 【手机word】【手机excel】
  10. pagehelper失效