0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ZC706评估板IBERT误码率测试和眼图扫描

冬至子 来源:FPGA探索者 作者:FPGA探索者 2023-06-21 11:29 次阅读

一、IBERT与GT收发器概述

1. IBERT

IBERT (Integrated Bit ErrorRatio Tester,集成误比特率测试工具),是Xilinx提供用于调试FPGA高速串行接口比特误码率性能的工具,最常用在GT 高速串行收发器测试

(1)基于PRBS模块的 误码率测试

(2)测量 眼图

IBERT核心是为PMA评估和演示而设计,GT收发器的所有主要物理介质连接(PMA)功能都得到支持和可控,包括:TX预加重/后加重、TX差速摆动、RX均衡、决策反馈均衡器(DFE)、锁相环(PLL)分频设置等。

2. GT

GT(Gigabyte Transceiver,G 比特收发器 ),通常也称 Serdes 、高速收发器。Xilinx的7系列FPGA根据不同的器件类型,集成了GTP、GTX、GTH以及GTZ四种串行高速收发器。按支持的最高线速率排序,GTP是最低的,用于A7系列;GTZ最高,用于少数V7系列;K7和V7中常见的是GTX和GTH。ZC706中包含16****个 GTX

GT的应用非常广泛,高速ADCDAC使用的 JESD204B 、高速接口 SRIO (Serial RapidIO )、 AuroraPCIE千兆网XAUI****万兆网等都是基于GT实现。在使用GT之前,首先需要进行IBERT测试,给出误码率、眼图等信息,保证GT收发器工作正常。若IBERT测试不通过,则根据近端、自环和远端的测试去排除PCB走线、阻抗、时钟、复位、电源等原因。

二、IBERT配置

1. 在“IP Catalog”中找到IBERT

双击IP核进行配置。

图片

2. 第一页配置高速串行协议

第一页协议选项中默认为Custom1,可以自行输入线速率、时钟等参数,其余协议选项是对应着固定的线速率和时钟,比如tenGBASE-R对应10.3125G 通信速率的万兆网通信 ,使用时钟频率 156.25MHz ,选择使用QPLL锁相环,选择后整个Quad的4个GT共用一个QPLL(Quad PLL),否则每个Channel通道各自使用自己的CPLL(Channel PLL)。

图片

ZC706中的BANK109~112四个Bank是高速收发器Bnak,每个Bnak中含有4个独立的GT收发器和一个QPLL,组成一个Quad,每个GT称为一个Channel。其中,Quad109和Quad110是FMC_HPD,Quad111支持Channel0是FMC_LPC,Channel1使用SMA接口输出,Channel2连接光纤SFP+,**Channel3直接TXRX****连接形成自环,用于测试** GT ,Quad112用于PCIE。

在使用过程中,出于对时钟的考虑:

Quad109的参考时钟0来源于FMC_HPC板卡,参考时钟1未连接(NC);

Quad110的参考时钟0来源于FMC_HPC板卡,参考时钟1来源于一个时钟芯片SI5324,但是需要进行相应配置才能输出(IIC配置寄存器);

Quad111的参考时钟0来源于FMC_LPC板卡,参考时钟1通过****SMA 接头由外部输入

Quad112的参考时钟0来源于PCIE设备,参考时钟1未连接(NC);

综上考虑,在ZC706没有连接FMCPCIE设备情况下,只能使用Quad111的参考时钟 1 ,通过外部****SMA 接入差分的参考时钟。 Quad111中的Channel3恰好已经设计成自环,刚好选定Quad111进行IBERT测试。

重要!由于相邻****Bnak 可以相互借用时钟 ,所以,这里在使用Bnak111的参考时钟1的前提下,也可以选择Bnak110和Bnak112上的GT进行IBERT测试,但是不能使用Bnak109,因为Bank111的时钟无法给Bank109使用,但是可以给Bnak110和Bank112使用。

图片

在ZC706板上,如下图所示,有一个一上电就会输出的差分时钟 USRCLK ,默认输出频率 156.25MHz ,恰好可以用来作为时钟,并将其通过SMA接头的USER_SMA_CLOCK输出,外部使用SMA接头射频线将USRCLK和****USER_SMA_CLOCK 连接 ,即为Quad111引入了一组156.25MHz的差分时钟。( 注意!两根射频线必须等长

图片

标号910的两对SMA接口使用等长的射频线连接,丝印号P端连接****P 端, N端连接N****端。

图片

3. 第二页配置Quad和参考时钟

根据2的说明,这里选择QUAD_111,并将参考时钟选择Quad111的参考时钟1(MGTREFCLK1),由于使用整个Quad的四个通道,并且使用QPLL,所以这里的Channel任选一个Channel0 ~ Channel3即可。

图片

4. 第三页配置时钟来源

时钟来源配置为Quad111的参考时钟1。

图片

三、示例工程

图片

生成RTL图如下:

图片

四、时钟配置

增加差分输入时钟USRCLK,首先输入使用IBUFDS差分输入转单端得到user_clk信号,然后使用全局缓冲BUFG资源将user_clk绑定全局时钟网络,最后使用OBUFDS单端转差分输出。

FPGA从外部输入时钟时,必须使用全局时钟输入管脚输入,必须经过全局时钟缓冲IBUFG(单端时钟)或IBUFGDS(差分时钟) ,否则布线报错, 常见的使用方式是IBUF或IBUFDS后加一个BUFG组合

BUFG,全局缓冲,输出到达FPGA内部个逻辑单元的时钟延迟和抖动最小。

wire user_clk;
IBUFDSIBUFDS_inst_user_clk(
    .O(user_clk),            // Buffer output
    .I(USRCLK_P_I),        // Diff_p bufferinput    
.IB(USRCLK_N_I)              //Diff_n buffer input 
);  

wireuser_clk_bufg;
BUFGBUFG_inst_user_clk (
       .O(user_clk_bufg),    // 1-bit output: Clock output
       .I(user_clk)
);

OBUFDSOBUFDS_inst_user_clock (
.O (USER_SMA_CLOCK_P_O),         // Diff_p output       
.OB(USER_SMA_CLOCK_N_O),     //Diff_n output
       .I (user_clk_bufg)                      //Buffer input
);

IBUFDS+BUFG+OBUFDS。

图片

设置XDC时钟约束和管脚约束:

create_clock -name usrclk -period 6.4 [get_ports USRCLK_P_I]
create_clock -name user_sma_clk -period 6.4 [get_portsUSER_SMA_CLOCK_P_O]
set_property PACKAGE_PIN AF14 [get_ports USRCLK_P_I]
set_property IOSTANDARD LVDS_25 [get_ports USRCLK_P_I]
set_property PACKAGE_PIN AD18 [get_ports USER_SMA_CLOCK_P_O]
set_property IOSTANDARD LVDS_25 [get_ports USER_SMA_CLOCK_P_O]

五、误码率及眼图测试

编译、布局布线并生成Bitstream,下载到ZC706。在Vivado下方出现“Serial I/O Links”,点击Auto-detect links会自动检测已经连通的链路,点击Create Link可以观察工程中配置的所有链路。

图片

点击Create Link,点击“+”号选择上方的链路,点击4次选择4个链路。

图片

由于Quad111的Channel3是直接TX和RX直连构成自环,所以下载IBERT后在Link3上就已经实现连通,通信速率10.313Gbps,误码率10的-13次方,测试时可以点击Reset复位重测,更改Links里面的配置时也需要****Reset 复位一下,否则误码率较高

图片

配置4个通道均为近端PCS自环或者近端****PMA 自环 (Near-End),内部构成自环,4个链路均进行近端内部自环测试,两个FPGA通信时可以配置远端PCS自环或者远端PMA自环测试链路(Far-End)。

图片

更改上述配置后,先Reset复位,否则误码率较高。

图片

创建眼图的扫描。

图片

图片

可见在中心位置处眼图张的比较开(蓝色),信道质量较好,横着看张开的范围较小,主要原因是运行的线速率太高,如果使用1.25G的千兆网协议,则眼图会更好。

从信号完整性的角度来看,眼图中间的蓝色区域越大,GTX所对应的PCB高速电路的信号完整性越好。

图片

图片

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 收发器
    +关注

    关注

    10

    文章

    2971

    浏览量

    104779
  • FPGA设计
    +关注

    关注

    9

    文章

    425

    浏览量

    26273
  • 寄存器
    +关注

    关注

    30

    文章

    5032

    浏览量

    117745
  • SMA
    SMA
    +关注

    关注

    4

    文章

    106

    浏览量

    24304
  • PRBS
    +关注

    关注

    0

    文章

    10

    浏览量

    2538
收藏 人收藏

    评论

    相关推荐

    是德科技全新多通道比特误码率测试

    德科技公司(NYSE:KEYS)今天宣布推出一款基于 14 插槽 AXIe 主机的多通道 比特误码率测试仪解决方案,适用于多路测试。最新比特误码率
    发表于 01-19 11:23 1535次阅读

    Vivado文件找不到ZC706

    嗨,我正在使用Vivado 2018.2并拥有ZC706评估套件。启动一个新项目我在文件中找不到ZC706。看看C:\ Xilinx \ Vivado \ 2018.2 \ data
    发表于 01-03 11:17

    可以在具有多个ZC706评估的多台计算机上使用一个FLEX许可证吗

    你好我有一个带有许可证表的新ZC706评估。我还有2个额外的ZC706评估,其中缺少许可证。
    发表于 01-04 11:10

    ZC706开发的SI5324配置方法

    ZC706开发上的SI5324需要通过I2C配置,官网找了一圈,只有VC709和KC705的例程,都是基于MICROBLAZE的,改到ZC706上问题也不大,准备动手这际,转念一想,何不
    发表于 07-05 08:22

    为什么zc706的速度等级会有不同?

    大家好?Afaik,zc706的速度等级为-2 soc。(是的,我手中有zc706。我检查它的速度等级-2 soc在上)但是当我在planAhead或xps上选择
    发表于 09-04 08:22

    请问ZC706评估是否能够承载SECMON功能?

    SECMON UG916第43页强调,在硬件设计期间,COTS需要考虑SECMON问题。ZC706评估是否能够承载SECMON功能?
    发表于 09-12 10:51

    ZC706评估套件怎么看到数据显示?

    你好,我正在使用ZC706评估套件。我希望看到我的数据显示。我知道HDMI可以做到这一点。但是,vivado不支持HDMI IP。你能否建议参考设计的其他显示选项来做到这一点?问候,
    发表于 08-14 08:20

    利用IBERT核对GTX收发器测试

    。若信号传输质量不够理想,可以通过在serial I/O link的参数设置进行调整,再重新扫描查看是否有改善。 为了测试GTX四个通道的误码率
    发表于 06-21 11:23

    IP集成式误码率测试器(IBERT)的主要性能和优势介绍

    面向 UltraScale™ 架构 GTY 收发器的可定制 LogiCORE™ IP 集成式误码率测试器 (IBERT) 核用于评估和监控 v 收发器。该核包括采用 FPGA 逻辑实现
    的头像 发表于 07-08 09:58 4712次阅读

    BER误码率 影响误码率的因素

    A 误码率基础 误码率(Bit error rate, BER)是用于评估传输数字数据的系统的关键参数。 适用于误码率的系统包括无线数据链路,以及光纤数据系统、以太网或任何通过噪声、干
    发表于 03-21 10:15 1.5w次阅读
    BER<b class='flag-5'>误码率</b> 影响<b class='flag-5'>误码率</b>的因素

    误码率是指什么_误码率是怎么表示_怎么计算

     误码的产生是由于在信号传输中,衰变改变了信号的电压,致使信号在传输中遭到破坏,产生误码。噪音、交流电或闪电造成的脉冲、传输设备故障及其他因素都会导致误码 误码率(比如传送的信号是1,
    的头像 发表于 03-08 08:59 6.1w次阅读
    <b class='flag-5'>误码率</b>是指什么_<b class='flag-5'>误码率</b>是怎么表示_怎么计算

    如何在ZC706中实现千兆网配置?

    (1)使用ZC706开发板测试PS端网口(Echo,lwIP协议栈); (2)配合操作PL端LED(直接驱动和使用消息队列两种方式); (3)PS端串口UART打印调试信息; (4)QSPI固化
    的头像 发表于 04-02 16:49 3044次阅读
    如何在<b class='flag-5'>ZC706</b>中实现千兆网配置?

    关于ZC706评估板的IBERT误码率测试和眼图扫描详细分析

    IBERT(Integrated Bit ErrorRatio Tester,集成误比特率测试工具),是Xilinx提供用于调试FPGA高速串行接口比特误码率性能的工具,最常用在GT高速串行收发器
    的头像 发表于 04-27 16:10 7185次阅读
    关于<b class='flag-5'>ZC706</b><b class='flag-5'>评估</b>板的<b class='flag-5'>IBERT</b><b class='flag-5'>误码率</b><b class='flag-5'>测试</b>和眼图<b class='flag-5'>扫描</b>详细分析

    ADC-FMC插入器&Xilinx ZC706参考设计

    ADC-FMC插入器&Xilinx ZC706参考设计
    发表于 05-21 20:37 7次下载
    ADC-FMC插入器&Xilinx <b class='flag-5'>ZC706</b>参考设计

    ZC706千兆网测试

    ZC706中,MAC 控制器与 PHY 通过 RGMII(Reduced Gigabit Media Independent Interface)接口进行连接,实现千兆网。
    的头像 发表于 06-21 10:03 1350次阅读
    <b class='flag-5'>ZC706</b>千兆网<b class='flag-5'>测试</b>