本文作者:AMD 工程师 Elaine Guo
本篇博客描述了如何使用 GT 进行链路调优,并提供了一个 Tcl 脚本,用于在硬件管理器/IBERT 会话中扫描 TX 驱动设置。该示例 Tcl 脚本会扫描 TX 主游标驱动设置并记录误码率 (BER)。然后,它会打印出每条链路以最小 BER 为目标的最优配置,并将结果输出到“output.txt”中。 本篇博文及脚本用于 GTM 收发器的链路调优,但同样的流程也适用于 GTY 收发器。
链路调优基础知识:优化 BER 性能
误码率 (BER) 是评估高速串行链路性能的关键指标之一。为实现较低的 BER,发射器和接收器都必须进行调优,以补偿通道损耗和反射。对于 GT,通常侧重于发射侧调优,并让 GTM 接收器自适应。
发射器侧调优
在高数据速率下,与频率相关的通道损耗会导致高频组件的衰减比低频组件更多,从而产生符号间干扰 (ISI)。为解决此问题,发射器采用去加重(降低连续位的振幅)或预加重(增强跳变)技术,以恢复接收器处的信号平衡。整体驱动程序摆幅也可以进行调整。
接收器侧调优
GTM 接收器包含 CTLE、FFE 和 DFE,以补偿所发射符号的前标和后标。所有均衡回路均自适应,可处理各种通道情况,并补偿任何 PVT 变化。 GTY 和 GTYP 收发器仅具有一个 DFE 阶段,可在 LPM 模式下选择性绕过此阶段。GTM DFE 无法绕过。可通过 GT 数字监控接口保持或覆盖抽头参数,并将其读回。
如何在 GT 子系统示例设计中运行 GT 链路调优脚本:
1. 使用适用于 GTM 的新 GT 子系统创建示例设计。下图展示了在当前状态下运行该脚本所使用的配置设置。




2. 激活 VIO 封装文件。

3. 综合、实现和生成器件镜像。
a. 打开 CIPS 块 PS PMC 配置窗口,并添加 PL CLK 0。

b. 将此更改添加到顶层 HDL 封装文件中的模块末尾处。

c. 移除顶层 HDL 封装文件上的
gtwiz_freerun_clock 输入。
4. 将 PDI 上传到相应的器件。
5. 为 TX/RX 模式创建带有 PRBS31 的相应链路。

6. 编辑 TCL 脚本以适配您的设计规格(例如,四通道编号、通道数)- 如需了解有关操作方法的更多详细信息,请参阅下方附录。

7. 通过硬件管理器运行该 TCL 脚本。

8. 打开 output.txt 查看结果,下图为预期结果的示例。

附录:
实用资源:
75244 - GTM PAM4/NRZ 收发器 - 如何评估链路裕度?
https://adaptivesupport.amd.com/s/article/75244?language=zh_CN
收发器链路调优应用指南 (XAPP1322) • 查看器 • AMD 技术信息门户网站
https://docs.amd.com/v/u/en-US/xapp1322-transceiver-link-tuning
如何修改脚本以用于自定义用途:
脚本中标有关键字 CHANGE 的注释用于指示在运行自定义设计时需要更改的行。对于自定义设计,脚本中有四个主要部分需要更改:
1. 两个四通道相连
2. 当前相连的通道数
3. 循环中与通道数对应的迭代器
4. 用于复位 GT 的部分
例如,如果被测设计使用的是两个通道而非四个,则指示需要编辑哪一行的 CHANGE 注释位于该行之前,如下所示:

因此,Foreach 迭代器会使用值 0-1,而不是使用值 0-3。脚本中还有一行也需要修改,以正确反映自定义设计中所使用的通道数,该行以 CHANGE 标签来标注,如前所述。
内部测试已完成
所用工具版本:AMD Vivado™ 2025.1
所用开发板:VPK120
通过 QSFP 环回,使用 QSFPDD1(J1) 环回至 QSFPDD2(J2)。

