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

一、概述
ibert(集成误码率测试仪)是xilinx为7系列fpga gtx收发器设计的,用于评估和监控gtx收发器。ibert包括在fpga逻辑中实现的模式生成器和检查器,以及对端口的访问和gtx收发器的动态重新配置端口属性,还包括通信逻辑,以允许设计在运行时通过jtag进行访问。
ibert工具用于对xilinx fpga芯片的高速串行收发器进行板级硬件测试。通过ibert可以获取误码率,观察眼图,调节串行收发器的参数,从而有助于判断可能存在的问题,便于验证硬件的稳定性和信号完整性。
二、测试原理
gtx接收和发送方向均由pma和pcs两部分组成,pcs提供丰富的物理编码层特性,如8b10b编码、时钟校准等功能,pma部分为模拟电路,提供高性能的串行接口特性,如预加重、均衡等功能。gtx同时还提供动态配置接口,用于动态的修改gtx的配置。
ibert 工具的环回模式有近端pcs环回测试(路径①),数据流仅通过近端gtx的pcs部分,可用于验证近端gtx中pcs收发双向的设置;近端pma环回测试(路径②,数据流通过近端gtx的pcs、pma,可用于验证近端gtx收发双向的设置;远端pma环回测试(路径③),数据流通过近端gtx的pcs和pma,远端的gtx的pma部分,通过两个gtx之间的物理连线,验证两个gtx之间物理联系的可靠性,以及验证两个gtx的pma部分设置的正确性;远端pcs环回测试(路径④)验证近端收发器和远端收发器的通信状况;以及none无环回模式即通过外部连接发送和接收。
远端pcs或pma环回测试时板卡下载ibert核生成的bit文件,通过两个通道上的tx和rx接口互相连接,其中一个通道上的模式设置为far_end_pma或far_end_pcs模式,另一个通道设置为默认的none模式并监测误码率。
vivado中ibert默认模式为none模式,收发器通过外部连线由外部环回进行自收自发而实现。可将同一组收发器的tx和rx进行短接,在rx接收端接收tx发送的数据后,通过比对发送和接收的数据,从而得出接收端误码的统计值。
三、测试过程
1、器件支持速率说明
gtp , gtx , gth都是串行收发器,区别在速率不一样,在不同的器件中叫的名字不同而已,由于在vivado创建工程时选择对应的器件型号,使用ibert时会自动根据器件型号检查所选的线速是否在器件支持的线速范围以内。
在示例中使用器件型号为xc7z030ffg676-2,在数据手册中根据7系列-2的速度等级和ff封装可查到该器件gtx的数据率范围为0.5~10.3125g,因此在测试的过程测试速率应在此范围内。(参考文档ds182)
2、ibert ip核配置
(1)首先打开vivado,新建工程后从ip catalog找到ibert并双击打开;
(2)ibert测试协议选择custom1,gtx参考时钟选择频率为125mhz,在配置的过程中,refclk可选的频率是由linerate决定,由于在板卡上refclk已固定为125mhz,因此测试所选择的线速应支持125mhz的参考时钟。(以4g线速为例)
(3)在开发板中,差分时钟与mgtrefclk0112连接,因此参考时钟选择mgtrefclk0112。
(4)将gtx输入的125mhz的时钟同时作为ibert内部逻辑的工作时钟,这样就可以不使用额外的外部时钟。
(5)配置结束后点击ok
(6)完成配置后,右击打开exampledesign工程
(7)打开exampledesign工程后,经过synthese、implementation,生成bit文件即可进行烧录。
3、测试
(1)近端pcs或pma环回测试(near-end pcs/pma loopback)
无需外部连线,烧录成功后,在serial i/o links窗口创建连接,将同1个gtx中同一个通道的tx和rx建立link。(也可以选择auto-detectlinks)
建立link后,若链路中连续五个数据传输成功,则认为链路连通,否则为未连通。在serial i/o link最右端的loopback mode选择近端pcs(或pma)环回模式,在改变模式时可能会出现误码,需要点击reset重新监测。
经过一段时间测试, errors的数值一直为0,表明测试过程中没有出现误码,说明板级层面的gtx硬件工作稳定。
眼图可以更直观的观察gtx的信号完整性,右键所连接的link,选择create scan,便可以生成眼图。
在serial i/o link窗口中,errors为误码个数,ber为误码率,在reset之后,errors和ber会恢复为0重新统计,通常在改变其他的参数后可能会出现少量的误码,此时需要reset后重新统计误码。tx pre-cursor和tx post-cursor为预加重和后加重,tx diff swing为摆幅,rx pattern和tx pattern为输入、输出数据类型,提供不同位宽的伪随机码、慢时钟(101010……)和快时钟(11111111110000000000……),需要注意的是输入和输出的数据类型应设置为同一种类型,loopback mode为环回模式,默认为none无环回模式,near-end pcs为近端pcs环回模式,near-end pma为近端pma环回模式,far-end pcs为远端pcs环回模式,far-end pma为远端pma环回模式。若信号传输质量不够理想,可以通过在serial i/o link的参数设置进行调整,再重新扫描眼图查看是否有改善。
为了测试gtx四个通道的误码率,创建多个links,对四个通道都进行近端环回测试
(2)远端pma环回测试(far-end pma loopback)
在一个板卡上烧录ibert生成的bit文件,将其中两个通道的tx和rx接口互连,一个通道设置为far-endpma模式,另一个通道设置为none模式并监测误码情况和眼图。
创建对应连接的link并查看误码率和眼图
(3)远端pcs环回测试(far-end pcs loopback)
在一个板卡上烧录ibert生成的bit文件,将其中两个通道的tx和rx接口互连,一个通道设置为far-end pcs模式,另一个通道设置为none模式并监测误码情况和眼图。
创建对应连接的link并查看误码率和眼图
(4)none模式的测试方式
板卡下载ibert核生成的bit文件,然后将同一通道的tx与rx接口连接起来,环回模式设置为none,实现自发自收。
四、总结
通过环回和开环方式的误码率测试,可判断出存在的问题以及测试出板卡实际支持的速率。ibert可在运行过程中设置高速串行收发通道的各项参数,并提供了多种环回模式及多种测试激励源,并可通过自动扫描测试,确定收发的最佳参数。可以满足硬件测试时对高速串行收发通道信号测试的大部分需求,在故障定位等场合均可使用。


Linux下部署NFS服务
小米手环2有什么亮点
讯飞扫描词典笔:轻轻一划,生词难题即刻扫除
一文读懂:机器学习、数据科学、人工智能、深度学习和统计学之间的区别
通信技术及芯片设计企业鼎信通讯发布2022第一季度报告
关于利用IBERT核对GTX收发器板级测试的原理与过程详解
微软宣布终止对Health dashboard App的支持
HDC.Cloud 2023 | 邂逅 AI,华为云 CodeArts 铸就研发效能 10 倍提升
昕诺飞在日本一体育场安装联网照明系统
移动游戏新玩法:“PS3手柄+Galaxy Note”
移动办公不再担心!4G插卡路由器助你随时保持网络畅通
如何利用重放攻击偷走特斯拉
Fluke 368/CN、Fluke 369/CN漏电流钳形表的技术参数和特性分析
采用单片机和三种传感器实现汽车舒适度评价系统的应用方案
菜鸟宣布在香港启动智能快递柜服务
面向未来芯片的技术有哪些?
华为构建以新能源为主体的新型电力系统
浅谈区块链涉及到的那些技术
无线模块在AI与物联网应用中的发展
FP6276兼容G5177C,高效5V2A同步PWM升压DC转换器