代码折叠实现(xcode折叠代码)
一.什么是IBERT
Integrated Bit Error RatioTester(IBERT)是Xilinx提供的用于测试transceiver的免费IP。IBERT的example design是一个集transceiver、logic、ILA、VIO、Pattern Generator and Checker、DRP于一体的参考设计,方便用户在不写代码的情况下测试当前硬件条件下transceiver能否工作在用户需要的线速率。IBERT的功能框图如下:
我们一直推荐用户在FPGA板卡硬件调试中使用IBERT测试transceiver,以便于排除电源、参考时钟和连接介质的问题,确保transceiver可以正常进行用户需要的高速串行设计调试。
关于IBERT IP GUI中的选项和配置项的具体解释,example design中的设计和使用方法,此文中不做阐述,用户可以参考Xilinx官方文档,如PG173、PG196、PG246等。此处强调和实际使用相关联的几点细节:
IBERT的example design顶层代码可见,用户可以在设计中添加逻辑,比如光模块的使能信号控制等;
IBERT中的Eye Scan功能并不是只有在IBERT中可以用,我们在其他高速串行协议中如果使能了transceiver的Eye Scan功能,一样可以在链路工作的同时来扫描眼图,比如xapp1198中就提供了在PCIE链路工作情况下使用Eye Scan功能扫描眼图的参考设计;
IBERT中可配置的环回模式就是transceiver内部的环回模式,如下图所示:1所示的数据通路为Near-end PCS环回;2所示的通数据路为Near-end PMA环回;3所示的数据通路为Far-end PMA环回;4所示的数据通路为Far-end PCS环回;
展开全文
二.PL IBERT测试中的常见问题
在我们把一个PL transceiver的IBERT测试工程bitstream通过JTAG下载到FPGA芯片中后,点击Auto detect links或者create links,就可以创建link链接,配置link中的一些参数,如pattern、loopbackmode、TX diff-swing、TX Pre-Emphasis等,如下图所示:
三.ZU+ MPSoC中的PS IBERT GTR
在ZYNQ Ultrascale+ MPSoC中PS侧集成了GTR,可以配置为PCIE2.0、USB3.0、Displayport TX、SATA或者GEM Ethernet,PSGTR也可以使用IBERT来进行测试,但是不需要使用PL的IBERT IP,具体操作流程本文不做详细描述,请参考UG936文档中的Lab10。
此处仅强调PS IBERT GTR和PL IBERT的区别之处:
PS IBERT GTR在测试时不需要下载bitstream文件,只需要配置好PS GTR,并使用对应的FSBL文件来进行加载,就可以create links;
PS IBERT GTR比PL IBERT减少了几个功能:BER、patterngenerator和pattern checker、参数配置和调整;
PS IBERT GTR同样具备Eye Scan和Bathtub Scan功能,我在一块板卡上插入USB3.0的U盘,设置BER为10 -9 ,测试扫描结果如下图所示:
特别感谢Xilinx专家Antony Gu对本文初稿的指正和修改建议。
如果您在transceiver方面和IBERT测试方面有问题,欢迎联系:
simonyang@comtech.com.cn
charlesxu@comtech.com.cn
关注我们