https://wenku.baidu.com/view/50a12d8b9ec3d5bbfd0a74f7.html (必看)
关键词 误码率测试仪;高速串行接口;眼图
随着高速数字系统的发展,高速串行数据被广泛使用,内嵌高速串行接口的FPGA也得到大量应用,相应的高速串行信号质量的测试也越来越频繁和重要。通常用示波器观察信号波形、眼图、抖动来衡量信号的质量,Xilinx提供的IBERT(Integrated Bit Error Ratio Tester)作为一种高速串行信号测试的辅助工具,使得测试更便捷,其具有不占用额外的I/O管脚和PCB空间、不破环接口信号的完整性、无干扰、使用简单和价格低廉等特点。
1 IBERT简介
IBERT是Xilinx提供用于调试FPGA芯片内高速串行接口比特误码率性能的工具,具备实时调整高速串行接口的多种参数、与系统其他模块通信及测量多通道误比特率等功能,支持所有的高速串行标准,包括:PCI Express、RapidIO、千兆以太网、XAUI等。使用IBERT核测试,只需通过JTAG接口下载设计并测试硬件,无需额外的管教和接口;大幅缩减了高速串行接口测试场景的建立和调试时间,是高速串行接口开发中理想的调试工具。
文中所述使用方法基于Xilinx的工具CoreGenerator12.4和ChipScope Pro Analyzer12.4进行描述,下面介绍使用IBERT的步骤,IBERT的操作分为两个阶段。
1.1 配置IBERT核,生成配置文件
(1)打开Core Generator12.4工具,新建设计工程,指定待测器件类型、封装、速度等级,生成工程文件。在IP Catalog窗口\View by Function\DebugVerification\Chipscope Pro\下,双击IBERT,配置线速率、GTP位置和参考时钟、系统时钟等IBERT核参数,生成可JTAG加载的bit配置文件。与生成其他核不同,IBERT核不是插入到用户的设计中去的ngc或edn文件,而是生成自身的bit配置文件。
(2)IBERT核和ILA核(Integrated Logic Analyzercore),也需要连接到ICON核(Integrated Controllercore)上,但其自身具备控制、监控以及改变高速串行接口参数的逻辑,并能完成误比特性能测试。需注意的是,IBERT核只能作为一个独立的设计,不可在用户设计中例化。不同系列芯片的IBERT核在Core Generator中的配置不同。
1.2 IBERT核的主要组件
(1)BERT(比特误码率测试)逻辑:BERT逻辑中例化了高速串行接口组件,并包括了测试模式发生器和检查器。利用Comma和Comma检测器,可提供从简单的时钟信号到完全的PRBS模式以及成帧计数模式。可产生各种PRBS数据作为高速串行发送器的数据源,可设置多种环回,由接收通道接收,对高速串行接收器的接收数据进行相同编码的检测,计算比特误码率。
(2)DRP(动态重配置端口)逻辑:每个高速串行接口均有一个动态重配置端口,因此每个收发器属性都可在系统中改变。所有的属性和DRP地址在IBERT核中均可读可写,且可独立访问。
(3)控制盒状态逻辑:管理IBERT核的操作。
1.3 配置到FPGA中完成测试
测试时,建立JTAC连接,使用ChipScope Pro Analyze12.4下载bit配置文件。下载成功后,在New Project窗口会出现IBERT Console点击即进入Console Window,该窗口可以设置高速串行接口的参数,进行开环或闭环的误码测试,同时提供高速串行接口参数的控制和监视接口。Console Window有4个界面:MGT/BERT Settings、DRP Settings、Port Settings和Sweep Test Setting。下面分别介绍每个界面的功能。
(1)MGT/BERT Settings:MGT Settings部分可以设置摆幅、预加重、均衡以及接收采样点的位置等参数,同时可设置开环或闭环的测试方式,测试进行中可以显示线速率和所测试的高速串行接口的锁相环状态。BERT Settings部分可以设置测试发送和接收数据的编码方式,并显示测试的误码率结果。Clock Setting部分显示收发线路的时钟信息。
(2)DRP Settrags:可查看并设置高速串行接口的属性。
(3)Port Settings:可查看并设置高速串行接口的接口状态。
(4)Sweep Test Setting:本界面用于自动扫描测试,是IBERT提供的一项便利高效的测试方式,可设定发送和接收的可控制参数范围,自动逐个地进行遍历性的误码测试,参数包括发送摆幅、预加重、接收均衡器、CDR采样数据的位置等。用户可设定每组参数重复测试次数以及测试时间,最后点击Start即可进行扫描测试。测试数据保存在.csv文件中。只能在近端环回和远端环回测试模式中使用。
2 实例说明
设计实例使用Xilinx公司Spatan6系列的xc6slx150t-3fgg676芯片,根据上述使用说明,下面具体说明使用IBERT进行测试的过程。
(1)打开Xilinx ISE DesignSuite12.4/ISEDesignTools/Tools/Core Generator,新建工程,设置芯片信息如图1所示,点击确认,生成核的工程文件。
1 IBERT简介
IBERT是Xilinx提供用于调试FPGA芯片内高速串行接口比特误码率性能的工具,具备实时调整高速串行接口的多种参数、与系统其他模块通信及测量多通道误比特率等功能,支持所有的高速串行标准,包括:PCI Express、RapidIO、千兆以太网、XAUI等。使用IBERT核测试,只需通过JTAG接口下载设计并测试硬件,无需额外的管教和接口;大幅缩减了高速串行接口测试场景的建立和调试时间,是高速串行接口开发中理想的调试工具。
2生成IBERT核
选择IBERT核
需注意的是,IBERT核只能作为一个独立的设计,不可在用户设计中例化,因此需要勾选Generate Bitstream using ISE Tools,在例化IBERT核的时候就可以生成bit文件了。时钟选项根据电路板上时钟来选择如果时钟来自于GTX的专用时钟管脚,那么无需勾选Use External clock source。Silicon Version根据FPGA芯片自身版本来选择。如果是用的工程样片就选择Initial ES或者General ES,如果是量产的成熟产品就选择production。
GT clocking mode selection
选择2个通道112和113,每个通道有4个channel。
Number of Protocols 如果设计所有通道跑一个速度的话,选择1就可以了。
GT count: 必须与channel数量一致,比如只例化了一个通道中2个channel,那么GT count就为2
Max Rate 根据你的需求选择
Quad PLL 如果Max Rate> 6G的话,那必须勾选Quad PLL
因为上面protocol 数目只等于1,故此处所有的channel只有一个速率。
Refclk source一定要和硬件工程师沟通知道时钟是连接到哪一个QUADS的哪一个channel上的专用refclk。 相邻3个QUAD可以合用中间QUAD的某一个channel上的refclk。此例QUAD112和QUAD113共用QUAD112上channel0上clk。因为是8G的速率故后面的QUAD PLL全部勾选。
此处GTX Source选用112通道的时钟
总结
3 生成bin文件
注意IBERT核默认是生成bit文件,如果需要生成bin文件的话需要修改ise14_4gtxipcore_dirchipscope_ibertimplement implement.sh文件。
STEP1:在implement.sh中添加 –g Binary:Yes
STEP2: 执行刚才修改的implement.sh文件