如何在同一块开发板上测试GT远端环回

描述

环回(loopback)是 GT 的一种特殊配置模式。可以把发送端的数据直通过自身 PMA 层或对方器件(不加进一步处理)后再转回给发送器件的接收端,并校验是否有误码。这种工作方式可以检验 GT 配置是否正常,外部链路信号质量等。在比较复杂的断链场景下一般作为一个基本的调试定位手段。

环回分为近端(Near-End)环回和远端(Far-End)环回。具体介绍可以参考 AM01, CH2。

https://docs.amd.com/r/en-US/am017-versal-gtm-transceivers

近端环回比较常用且方便,远端环回则需要两个独立的器件来通信。AMD 的开发板一般只有一块 FPGA 或者 AMD Versal Adaptive SoC 芯片,做远端环回测试的话需要把两块开发板对接起来,并且保证两块板子的时钟同源。本文我们介绍一种用一块开发板测试远端环回功能的办法。  

以 Versal VPK120 开发板为例。其上包含一块 VP1202 的芯片,可用 GT Quad 如下:

https://www.xilinx.com/products/boards-and-kits/vpk120.html

GT

示例选择 Quad 203 来模拟发送端器件。查看https://docs.amd.com/r/en-US/ug1568-vpk120-eval-bd

QSFP-DD1 和 QSFP-DD2 的连接关系如下:

可以看到 Q203 的 ch0 和 Q204 的 ch1 可以对应连通。选择 Quad 204 模拟作为接收端器件,使用 DAC 电缆线对接两个 QSFP-DD。

GT

Step 1:

在 AMD Vivado Design Suite 2024.1 里面建立测试工程。因为是模拟两个不同器件,这里分别用不同的 gt_bridge 去控制两个 Quad。Create Block Design, 里面添加两个 gt_bridge 和两个 gt_quad_base。在 gt_bridge 里面选择好协议如下 (可按自己需要选择):

GT

使用 Run Block Automation – Customized_Connections, 自动化连线:

GT

GT

自动化连线结果如下:

GT

Step 2:

远端环回需要两个器件使用同源时钟,我们把 Quad 203 和 204 的 REFCLK 修改为同一个。另外去掉该基本测试里面不必要的 IO 控制,只保持 GT serial ports 即可。

驱动控制逻辑所需的 apb3clk,可以用 CIPS 来产生:

GT

修改后的 Diagram 如下:

GT

保存,生成 HDL wrapper。

Step 3:

根据 VPK120 开发板的设置,添加 REFCLK 和 GTM 位置约束:

GT

接下来按普通流程生成下载文件 pdi 即可。

Step 4:

将 VPK120 的 SW1 设置为 0000 (JTAG),启动并下载 pdi 文件。

Step 5:

按照刚才对照的硬件连接关系,在 Serial I/O Links 中建立链:

GT

选择自己想要测试的 PRBS pattern,设置第一个 Link Q204 ch1. RX 为 Far-End PMA 模式,Q203 ch0.RX 为None(由于此处双向通信,两个 Link 的设置可以互换)。此时 Q204 作为了远端执行环回的器件,Q203 则是发送端器件。这样就模拟了两个器件以远端环回对接的连接方式:

GT

设置 TX Main-Cursor;如果外部 Cable 插损比较大,还可以针对性调节其他 TX Cursor:

GT

分别复位两个 Link。之后在 IBERT GTM Real-Time Scan Plots 的眼图里面,可以看到通信已经建立起来:

GT

应用此文的办法,可以在有限的实验室环境下做针对 Far-End PMA/PCS Loopback 的一些特性测试和观察,方便进一步学习。

 

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分