精选文章 FPGA中IBERT 核的应用

FPGA中IBERT 核的应用

作者:达则兼济天下SEU 时间: 2019-11-11 01:13:16
达则兼济天下SEU 2019-11-11 01:13:16

 摘要 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所示,点击确认,生成核的工程文件。

 

IBERT使用手册

使用环境:ise 14.4 +VirtexFLG 2000T -1925 -2c

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文件

QUESTION:

can i make an ibert design to test the connection between two boards?

Please see what Xilinx FAE said:

 After having generated the IBERT design for FPGA1 and FPGA2,you might open two Vivado tools in one PC, or if you prefer two Vivado tools on two PC.Then you will assign a USB number to the first FPGA connection, and another one to the second FPGA connection.
 After having programmed FPGA1 and FPGA2 with the relative bit file, Vivado1 will be able to open a hardware session on FPGA1 and Vivado2 on FPGA2.Unfortunately vivado still cannot create the correct links from one FPGA to a different one: for example Vivado (1) will only create links from FPGA 1 drivers to FPGA1 receivers.
 But this will not prevent us from making a good measurement: you just need to set the transmitters and receivers at the desired rate and PRBS.let's make an example.you want to test the link from FPGA1 where you have 6Gbps PRBS7 transmitters, to FPGA2 where you have 6Gbps PRBS7 receivers.Also you want to test the link from FPGA2 where you have 6Gbps PRBS31 transmitters, to FPGA1 where you have 6Gbps PRBS31 receivers.

 In Vivado 1 you only see FPGA1, so you need to create a fake link from TX to RX both belonging to GTX on the same FPGA1 same stuff in Vivado2: you need to create a fake link from TX to RX both on the same FPGA2.You then need to program FPGA1 transmitters with PRBS7, FPGA1 receivers with PRBS31; FPGA2 transmitters with PRBS31, FPGA1 receivers with PRBS7.
 Both links should be ok now. Please inject the error to double check if the error is correctly revealed by the receiver

参考文档:https://www.jianshu.com/p/83edac9ac46c

勿删,copyright占位
分享文章到微博
分享文章到朋友圈

上一篇:python数据分析之--numpy库

下一篇:AndroidStudio中配置Flutter插件

您可能感兴趣

  • 基于XILINX FPGA的硬件设计总结之PCIE硬件设计避坑

    随着FPGA的不断发展,FPGA本身自带的PCIE硬核的数量越来越多,本文以ZU11EG为例介绍,如何进行对应的硬件引脚分配。 设计目标:ZU11EG FFVC1760封装,挂载4组NVME,接口为PCIE X4 , 先我们先对ZU11EG的资源进行分析,在UG1075中我们可以清楚的看到其包含4个PCIE块,分别位于X0Y2,X0Y3,XIY1,XIY0. 在文档PG213上我们可以看到如...

  • microblaze排坑:download.bit没有运行Microblaze

    使用软件版本:vivado 硬件:zedboard开发板 问题现象: 最近调试验证zynq自带的软核microblaze,发现把microblaze的local memory设置成16KB以上时,在sdk里将bit文件和应用程序elf文件生成新的download.bit文件下载到板子上,microblaze的程序没有运行起来。 另外,把local memory设置成16K以下,以上两种操作都...

  • 优化C++软件(1)

    1. 介绍 本手册面向希望使他们的软件更快的高级程序员与软件开发者。假定读者对C++编程语言掌握良好,并对编译器如何工作有基本的了解。选择C++语言作为基础的原因在下面第8页解释。本手册主要基于我对编译器及微处理器如何工作的研究。给出的建议基于Intel,AMD与VIA的x86微处理器家族,包括64位版本。x86处理器用在大多数使用Windows、Linux、BSD与Mac OS操作系统的通...

  • Vivado浮点数计算IP核介绍及简单运用仿真

    1、Vivado浮点数计算IP核介绍 打开Vivado软件,点击IP Catalog,输入float关键词进行搜索,可以看到有Float-point这个IP核,双击打开 在Operation Selection中可以按照自己的需求配置成加法器,减法器,乘法器,除法器,乘加器等,如果在这里选择加法和减法同时用的话,接口会增加一个操作模式选择信号。 在Precision of Inputs中可以...

  • 面向Mobile device的CNN模型手工设计与NAS分析总结,MobileNet V1,V2,V3,Efficient,MNasNet以及Efficient network design

    手工方法和NAS的高效网络模型设计总结与分析 这篇文章主要关注对于移动端,资源受限平台的高效神经网络设计(Manually)和搜索(NAS)。 高效的CNN设计不只是用在服务器,云端,资源充足的设备上,也逐渐迁移应用到mobile devices,robotics等。这些平台具有内存有限,计算资源一定,对应用延迟敏感等特点。最近的一些文章,已经从耗时,耗资源的大型模型设计,关注到具体能够在m...

  • 安全知识试题

    安全知识试题(防诈骗) 一、单选题(共计30分) 1、[1分] 在 QQ 群里有一朋友称,他们的学校近期有国外某知名大学教授来上课,上完课程后就可以拿到该大学文凭,但要交 26800 元的学费。正确的做法是 A. 判定为诈骗信息 2、[1分] 在校园里东西丢失该怎么办 A. 先到保卫处报案登记,如有必要报警 3、[1分] 接到一个电话,问候后对方说:“我的声音你都听不出吗?”觉得对方的声音像...

  • Vivado下IBERT使用指南

    来源:https://www.cnblogs.com/chengqi521/p/7867066.html、https://blog.csdn.net/qq_22279697/article/details/80763018、https://blog.csdn.net/hhpingyear/article/details/96750849 1.Ibert回环测试问题 2.IBERT回环测试ne...

  • 英特尔AI芯片首次商用交货!推理性能3.7倍于英伟达T4,年贡献245亿涨250%

    李根 发自 旧金山 量子位 报道 | 公众号 QbitAI AI豪赌出业绩,产品启动商用——性能“吊打”友商。 今天(11月13日)在年度AI峰会上,老牌芯片霸主英特尔,交上最新AI答卷: 首款AI芯片量产商用、性能吊打英伟达T4,营收贡献预计35亿美元——年对年同比增长250%,另外还推出了下一代边缘芯片VPU。 种种成绩,让英特尔AI掌舵者Naveen Rao也备显扬眉吐气,在历经4年励...

华为云40多款云服务产品0元试用活动

免费套餐,马上领取!
CSDN

CSDN

中国开发者社区CSDN (Chinese Software Developer Network) 创立于1999年,致力为中国开发者提供知识传播、在线学习、职业发展等全生命周期服务。