目录
1.场景
通常在使用光纤接GT收发器进行通信之前,要测试信号质量以确认硬件链路工作正常,xilinx提供了IBERT(Integrated Bit Error Ratio Tester)进行高速串行通信接口的测试和调试,以KU系列QSFP+光纤收发器4路GTY为例介绍IBERT眼图测试,7系列的GTP、GTX的眼图测试大致一样。源代码链接在文末。
2.IBERT测试原理
如图所示,眼图测试的原理是,PRBS Checker模块根据用户配置产生测试数据经多路选择器进入弹性FIFO的发送通道,可以在PCS端直接连接到RX的PMA端,也可以经过TX的PMA端在进入RX端,然后与原来发送的数据做对比,一次可以得到各种报告和眼图。同时可以看到要做内部自回环以及外部自回环,都可以通过IBERT来实现。同时说明一下,IP配置中的Near-End,以及Far-end代表的就是自己的FPGA的GT和另外的FPGA的GT。选择near_end就是在一个FPGA中实现回环,选择Far_end就是通过光纤将两个FPGA的GT接上,在第二个FPGA内部形成回路,此时要在一个FPGA中设置none,另外一个FPGA中设置far_end。
3.ip核配置
如下图所示,搜索IBERT IP,进入后的配置如下。第一页“Protocol Define”界面,选择线速率,在GT支持的速率范围中选择;数据位宽随便选就行,参考时钟具体要看板卡设计,Quad Count指Quad数量,一个Quad包含了4个GT收发器,这里4路收发器选1即可。PLL指参考时钟的连接位置,具体要看硬件设计,这里选QPLL0;第二页“Advanced Settings”保持默认;第三页“Protocol Selection”中,选择收发器的位置,结合硬件设计,这里选Quad_227;第四页“Clock Settings”选择IBERT内部逻辑的工作时钟,选择GT的参考时钟作为输入就不用添加额外的配置了。
4.测试方法
生成IP核之后,选择打开open example design,这个工程是xilinx配置好的包括约束(有的SFP会做一个sfp_tx_disable信号,默认上拉的话要将其赋值为0才能使能光电转换器工作),直接生成bit流。在下载bit流之前,将测试自环光模块(10G可以使用光纤形成回路即rx与tx接上,40G有专门卖的QSFP+的自环光模块)插入到QSFP即可。上电烧写bit流之后,如果没有出来连接,可以右键选择auto-detect Links。
可以看到各通路的连接状态,错误计数,误码率BER,还有复位按钮,通常刚上电时会产生错误计数,这是需要单击reset按钮后继续观察,通常误码率在-12、-13认为正常。另外。采用外部环回时Loopback Mode选择None(10G光纤成环,40G自环光模块都是外部成环)。
在链路上右键选择,creat scan即可看到生成的眼图,如下图。
蓝色区域越大说明信号质量越好。
5.传送门
●我的主页
●FPGA通信接口汇总导航
END
🔈文章原创,首发于CSDN论坛。
🔈欢迎点赞❤❤收藏⭐⭐打赏💴💴!
🔈欢迎评论区或私信指出错误❌,提出宝贵意见或疑问❓。