https://wenku.baidu.com/view/50a12d8b9ec3d5bbfd0a74f7.html (必看)

   摘要 IBERT即集成式比特误码率测试仪,是Xilinx专门用于具有高速串行接口的FPGA芯片的调试和交互式配置工具。文中介绍了IBTERT基本功能、实现原理,并结合实例阐述用IBTERT调试FPGA时的具体方法和调试步骤。
关键词 误码率测试仪;高速串行接口;眼图

随着高速数字系统的发展,高速串行数据被广泛使用,内嵌高速串行接口的FPGA也得到大量应用,相应的高速串行信号质量的测试也越来越频繁和重要。通常用示波器观察信号波形、眼图、抖动来衡量信号的质量,Xilinx提供的IBERT(Integrated Bit Error Ratio Tester)作为一种高速串行信号测试的辅助工具,使得测试更便捷,其具有不占用额外的I/O管脚和PCB空间、不破环接口信号的完整性、无干扰、使用简单和价格低廉等特点。

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_4\gtx\ipcore_dir\chipscope_ibert\implement \implement.sh文件。

STEP1:在implement.sh中添加 –g  Binary:Yes

STEP2: 执行刚才修改的implement.sh文件

FPGA中IBERT核的应用(转)的更多相关文章

  1. FPGA中的除法运算及初识AXI总线

    FPGA中的硬件逻辑与软件程序的区别,相信大家在做除法运算时会有深入体会.硬件逻辑实现的除法运算会占用较多的资源,电路结构复杂,且通常无法在一个时钟周期内完成.因此FPGA实现除法运算并不是一个&qu ...

  2. Vivado中VIO核使用

    前言 使用场景:在使用In system debug时需要使用按键触发查看相关信号,但不想用板子上的按键. VIO:Virtual input output,即虚拟IO. 主要用作虚拟IO使用:VIO ...

  3. FPGA中的“门”

    逻辑门 在ASIC的世界里,衡量器件容量的常用标准是等效门.这是因为不同的厂商在单元库里提供了不同的功能模块,而每个功能模块的实现都要求不同数量的晶体管.这样在两个器件之间比较容量和复杂度就很困难. ...

  4. 巧用FPGA中资源

    随着FPGA的广泛应用,所含的资源也越来越丰富,从基本的逻辑单元.DSP资源和RAM块,甚至CPU硬核都能集成在一块芯片中.在做FPGA设计时,如果针对FPGA中资源进行HDL代码编写,对设计的资源利 ...

  5. FPGA中的delay与latency

    delay和latency都有延迟的意义,在FPGA中二者又有具体的区别. latency出现在时序逻辑电路中,表示数据从输入到输出有效经过的时间,通常以时钟周期为单位. delay出现在组合逻辑电路 ...

  6. FPGA中的INOUT接口和高阻态

    除了输入输出端口,FPGA中还有另一种端口叫做inout端口.如果需要进行全双工通信,是需要两条信道的,也就是说需要使用两个FPGA管脚和外部器件连接.但是,有时候半双工通信就能满足我们的要求,理论上 ...

  7. FPGA中的时序分析(四)

    常用约束语句说明 关于Fmax      上述是实现Fmax的计算公式,clock skew delay的计算如下图, 就是两个时钟的差值.到头来,影响Fmax的值的大小就是组合逻辑,而Fmax是针对 ...

  8. 【转】关于FPGA中建立时间和保持时间的探讨

      时钟是整个电路最重要.最特殊的信号,系统内大部分器件的动作都是在时钟的跳变沿上进行, 这就要求时钟信号时延差要非常小, 否则就可能造成时序逻辑状态出错:因而明确FPGA设计中决定系统时钟的因素,尽 ...

  9. FPGA中浮点运算实现方法——定标

    有些FPGA中是不能直接对浮点数进行操作的,仅仅能採用定点数进行数值运算.对于FPGA而言,參与数学运算的书就是16位的整型数,但假设数学运算中出现小数怎么办呢?要知道,FPGA对小数是无能为力的,一 ...

随机推荐

  1. 雷林鹏分享:XML 应用程序

    XML 应用程序 本章演示一些基于 XML, HTML, XML DOM 和 JavaScript 构建的小型 XML 应用程序. XML 文档实例 在本应用程序中,我们将使用 "cd_ca ...

  2. 开发自己的R包(转)

    R不必说,数据统计分析可视化的必备语言,R包开发的门槛比较低,所以现在随便一篇文章都会发表一个自己的R包,这样有好处(各种需求早有人帮你解决了)也有坏处(R包太多,混乱,新手上手较难).作为生信工程师 ...

  3. @suppresswarnings(unchecked)的作用

    @suppresswarnings(unchecked)的作用 一般在项目中会出现红色的报错,这个是影响项目运行的,无法启动,会停在那里,而warning警告,黄色的虽然不是会让项目停止,但是却是不规 ...

  4. 理解开发HD 钱包涉及的 BIP32、BIP44、BIP39

    如果你还在被HD钱包.BIP32.BIP44.BIP39搞的一头雾水,来看看这边文章吧. 数字钱包概念 钱包用来存钱的,在区块链中,我们的数字资产都会对应到一个账户地址上, 只有拥有账户的钥匙(私钥) ...

  5. vmware 10.0 安装centos6.5 客户系统 几个问题

    1. vmware 10.0 安装centos6.5 客户系统 无法修改分辨率 要安装 desktop, KDE, legacy,x  组件 2. NAT 方式网卡无法自行启动 vim /etc/sy ...

  6. 4.1.5 Georigia and Bob

    Problem description: Georgia and Bob 在玩一个游戏. 如图所示,排成直线的格子上放有n个棋子.棋子 i 在左数第 Pi 个格子上.Georgia 和 Bob 轮流选 ...

  7. Runable和Thread

    Java多线程 java中有两种实现多线程的方式: 1. 一种是通过继承Thread类,同时重写run()方法.但是java中,只允许单继承,也就是一个类只能继承一个父类,使得该方式具有一定的局限性, ...

  8. spring boot(十)邮件服务

    springboot仍然在狂速发展,才五个多月没有关注,现在看官网已经到1.5.3.RELEASE版本了.准备慢慢在写写springboot相关的文章,本篇文章使用springboot最新版本1.5. ...

  9. 用vivado实现4比特加法器

    `timescale 1ns / 1ps module add_4_beha( a, b, cin, sum ); :] a; :] b; input cin; output sum; :]a; :] ...

  10. TCHAR用法

    TCHAR 就是当你的字符设置为什么就是什么例如:程序编译为 ANSI, TCHAR 就是相当于 CHAR当程序编译为 UNICODE, TCHAR 就相当于 WCHAR char :单字节变量类型, ...