文章目录
- 引言
- 一、概述
- 二、收发器基本概念
- 三、电路分析
- 四、调试过程
- 4.1 IP配置
- 4.2 使用 exampledesign
- 4.3 GTP IBERT 测试
- 4.3.1 新建链路
- 4.3.2 生成眼图
- 4.3.3 眼图精度调节
- 4.3.4 眼图扫描轮询
- 4.3.5 测试结果导出
- 4.3.6 link setting参数设置
引言
随着数字通信技术的进一步发展, 各类数据的传输方案对带宽的需求迅猛增长, 传统的并行总线的数据传输方式已经远远不能满足如万兆以太网、PCI-Express、SRIO、SFP 等技术方案的需求,这个时候,促使高速串行数据开始被广泛地使用,Xilinx 系列 FPGA 内部集成了能实现高速数据收的发串并/并串转换、预加重、接收均衡、CDR、8B/10B线路编解码、弹性 buffer、通道绑定和时钟修正等模块,可极大地减小时钟扭曲、信号衰减和线路噪声对接收性能的影响,从而使传输速率进一步提高,可用于实现万兆以太网、PCI-Express、SRIO、SFP 等常用接口。在内嵌高速串行接口技术的 FPGA 被大量应用的同时,高速串行的信号质量测试也变得越来越重要,通常用示波器观察信号波形、 眼图、抖动来衡量信号的质量。串行信号的抖动,反映在时域上,信号的稳定时间会变小,眼图宽度会变窄;信号的噪声,反映在信号幅度上,眼图高度变小。 通俗点讲眼图的眼睛张开得越大,越端正,表示高速串行数据传输的越稳定。为了方便用户使用,vivado 中提供了一个IBERT(IntegratedBitErrorRatioTester)的测试工具用于对 XilinxFPGA芯片的高速串行收发器进行板级硬件测试。通过 IBERT 我们可以直接获取误码率,观察眼图,调节串行收发器的参数,从而有助于判断可能存在的问题,便于验证硬件的稳定性和信号完整性。
一、概述
IBERT 中的 BERT 是 BitErrorRatioTest 的缩写, 指比特出错概率测试, 简而言之就是误码率测试。Vidado 软件为我们提供了强大的误码率测试器 IBERT,不但可以测试误码率还能测试眼图,给我们使用高速收发器带来很大的便利,本文基于7系列FPGA介绍 IBERT 的使用。同时验证TX端个RX端相关参数对于信号质量的影响。
Vivado中IBERT 工具的测试原理是通过收发器由外部回环进行自收自发而实现。就是将同一组收发器的 TX 和 RX 进行短接,TX 发送端通过发送某种特定序列的数据流, 在 RX 接收端接收后, 通过比对发送和接收的数据, 从而得出误码率和眼图信息,来验证开发板 GTX 部分工作的稳定性和可靠性。
由于环境的局限性,我们此次IBERT调试环境使用Intel的A10作为收发器的TX端,Xilinx的A7作为收发器的RX端,中间使用ERNI高速背板连接器连接,接收端使用IBERT观察眼图。
二、收发器基本概念
7系列FPGA支持收发器个数以及速率(最大)
GT:Gigabit Transceiver千兆比特收发器;
xilinx的7系列FPGA根据不同的器件类型,集成了GTP、GTX、GTH、GTZ四种串行高速收发器,可以支持多种协议如PCI Express,SATA,JESD204B等。
四种收发器主要区别是支持的线速率不同:
GTP的结构图:(以7A100T为例)
Quad(或者简称Q),是由4个GTP收发器通道(GTPE2_CHANNEL)、一个Quad PLL(GTPE2_COMMON)、两个差分参考时钟引脚对(IBUFDS_GTE2)以及专用参考时钟布线。
参考时钟来源
三、电路分析
我们TX端使用A10 032的芯片,我们只拿其中部分通道进行演示说明。RX端使用XC7A50T
四、调试过程
4.1 IP配置
参考pg133配置IP说明
选择IBERT 7 Series GTP
接口定义Silicon Version:根据FPGA芯片自身版本来选择。如果是用的工程样片就选择Initial ES,如果是量产的成熟产品就选择General ES或者production。Protocol:协议选择,7A50T可选项有3G SDI、HD SDI、VBY1、和custom 1,选择custom1自定义,选择其他协议其他参数会固定无法配置;Linerate:0.5-6.25Gbps;Datawidth:数据位宽Refclk:要结合硬件,查看哪个quad以及channel对应的参考时钟;(10网口输出子板7A50T在quad216,参考时钟125MHz)Quad Count:默认1(7A50T只有1个quad)PLL used:从Figure1-2来看,选择PLL0和PLL1都可以;Protocol Selected:选择之前custom的协议Refclk Selection:需要和硬件对应;我们的硬件参考时钟是接在MGTREFCLK0上;
关于TXUSRCLK Source的说法参考PG133的说法
此处是选择工作的系统时钟,可以选择外部也可以选择内部产生。我们在此处选择内部产生。
配置完成直接生成IP即可。工程中会出现配置完成的IP。
4.2 使用 exampledesign
选择IP右键选择Open IP Example Design,会生成一个新的工程并自动打开。
基于新的工程生成Bit文件,使用debug工具。工程内包含IP以及相应的约束文件。
4.3 GTP IBERT 测试
4.3.1 新建链路
在线烧写上一步生成的bit文件
选择create links
选择rx端通道并添加new link
由于没有内部loopback因此internal loopback不勾选
由于前端tx使用Inter的FPGA程序生成的,无法在vivado查看link状态,确保RX PLL状态locked成功即可,只需TX端正常有数据就可以看眼图。(和赛灵思技术支持沟通确认可以这么使用)
Link properties中可以查看链路参数并可以设置相关参数。
配合 Intel 的 toolkit 完成TX端参数配置
4.3.2 生成眼图
我们使用的收发器RX端使用通道0-2,因此分别产生link0-2的眼图,选中link右键creat scan即可。
Scan0-3分别对应link0-3的眼图情况。(输出口只使用3个serdes通道)
若停止TX端输出,reset对应通道之后一定时间再查看眼图可以看到结果全部是erro状态。
4.3.3 眼图精度调节
生成眼图精度设置(值越小越精确,需要扫描时间越长)
4.3.4 眼图扫描轮询
眼图扫描轮巡
Set properties & values可以对轮询参数进行选择和设置,参数项和值都可以随意设置
扫描结果可以根据open_area大小选择最优参数
从信号完整性的角度来看, 眼图中间的蓝色区域越大, GTP 所对应的 PCB 高速电路的信号完整性越好。
4.3.5 测试结果导出
右键选择export table to spreadsheet,将扫描结果导出excel
4.3.6 link setting参数设置
赛灵思GTP的IP均衡和预加重参数相关
主要调节参数包括摆浮sw,以及预加重pre cursor 还有后加重post cursor,勾选后在IP顶层可以看到并设置相应参数。(该参数在眼图测试中均可进行添加扫描测试)