4. GTY 关键参数:线速率、参考时钟、预加重、均衡
搞 GTY 收发器,说白了就是四个参数你得心里有数——线速率、参考时钟、预加重、均衡。调来调去,最后都是在伺候这四个东西。我刚入行那会儿,觉得只要把线速率设对就能跑,结果眼图闭得死死的。后来才发现,后面三个任何一个没配好,信号都传不出去。
今天就一个一个拆开讲。我把它们的关系先画成一张图,你再往下看,心里就有谱了。
4.1 线速率——GTY 的「档位」
线速率就是 GTY 串行链路上每秒传多少比特。Xilinx GTY 能跑的范围很宽,从几百 Mbps 到 32.75 Gbps 甚至更高。具体能跑多快,取决于你选的 GTH/GTY 类型和封装速度等级。
我个人习惯:先确定链路需要的净数据带宽,再算出加上 8b/10b 或 64b/66b 编码后的实际线速率。比如 PCIe Gen4 单 lane 16 GT/s,编码效率很低(128b/130b),实际上有效数据带宽约 15.76 Gbps。如果你直接按 16 Gbps 算 FIFO 深度,就可能溢出。
线速率选型要点:
- 不同速度等级下 GTY 能跑的上限不同,查手册的
Speed Grade表格。 - 线速率直接影响参考时钟频率(PLL 分频比)和功耗。
- 同一个芯片上的 GTY 可以工作在独立线速率,但共用参考时钟时要注意公倍数。
我曾经在某个项目中选了 25.78125 Gbps 的线速率(对应 CPRI Option 10),结果手册上写该速率需要 -2 速度等级,而我用的芯片是 -1 的。改板后才知道 GTY 速度等级不能超,不然眼图根本睁不开。
4.2 参考时钟——GTY 的「心跳」
参考时钟是 GTY PLL 的基准源。PLL 会对它做乘法来产生串行时钟,所以参考时钟的纯度直接决定 TX 输出信号的抖动。说白了,参考时钟烂,线速率再高也白搭。
常用参考时钟频率:
| 线速率范围 | 推荐参考时钟 | PLL 乘法因子 |
|---|---|---|
| 1 – 6 Gbps | 125 MHz | ×8 ~ ×48 |
| 6 – 12 Gbps | 156.25 MHz | ×38 ~ ×76 |
| 12 – 25 Gbps | 156.25 MHz / 312.5 MHz | ×80 ~ ×160 |
| 25 – 32 Gbps | 312.5 MHz | ×80 ~ ×102 |
实际选择时,我建议优先用 156.25 MHz 或 312.5 MHz。为什么?因为大部分高速协议(10GE、25GE、CPRI)都基于这个频率,板级走线统一,也方便多协议复用。
避坑提示:参考时钟的抖动 RMS 通常要求小于 1 ps(12 kHz – 20 MHz 积分区间)。如果板级时钟走了很长的 PCB 走线,或者经过了一个抖动很大的晶振,GTY 的 BER 可能会劣化到 10-9 以下。我遇到过因为用了廉价 LVDS 振荡器,导致 25G 链路 CRC 报错不断,换成低抖动晶振后问题消失。
4.3 预加重——发送端的「放大镜」
信号从芯片出去,经过 PCB 过孔、连接器、背板,高频分量衰减得比低频快得多。预加重就是在 TX 端故意把高低频分量的幅度差拉大——强调跳变边沿,让信号到达接收端时幅度尽量一致。
GTY TX 的预加重通常有 3~4 个 tap:
- 主 tap(pre-tap):当前 bit 的幅度。
- 后 tap(post-tap):下一个 bit 的幅度。
- 前 tap/后 tap 多个组合:可以精细调整波形的预加重轮廓。
我的调试经验:预加重不是越强越好。调得太猛,发射端功耗上升,而且会产生过冲/下冲,使接收端均衡更难做。我一般在 IBIS-AMI 仿真里先算一个初始值,再用板上眼图扫描做微调。
预加重参数参考(25 Gbps, 10 dB 通道损耗):
TX_PRE_CURSOR = 2 (单位 dB)
TX_POST_CURSOR = 4
TX_MAIN CURSOR = 18 (相对幅度)
4.4 均衡——接收端的「修复师」
接收端均衡相当于把被信道“磨圆”的波形重新变锐。GTY 内部通常有三级均衡:
- CTLE(连续时间线性均衡) - 固定或自适应的高通滤波器,补偿高频衰减。
- RX DFE(判决反馈均衡) - 消除后标符号间干扰(ISI),通常有多个 tap。
- RX EQ(自动增益控制 + 眼图扫描) - 调整输入幅度。
CTLE 和 DFE 的配合非常重要。CTLE 提太多高频噪声会被放大,DFE 提太多可能导致错误传播。
我习惯的调均衡流程:先固定 CTLE 到一个中等增益,然后开启 DFE 自适应(GTY 自带自适应引擎),等 DFE 收敛后观察眼图。如果眼高不够,再加大 CTLE。记住:DFE 收敛后重新读一下 RX tap 系数,看看是否有饱和——要是某个 tap 已经到最大值,说明 CTLE 给的太少了。
有一次我在背板上跑 28 Gbps NRZ 信号,通道损耗接近 20 dB。怎么调均衡眼图都很差,后来发现是 RX 端没有开启 RX_LPM_EN(低功耗模式默认关闭了部分 DFE tap)。开启后 DFE tap 数量翻倍,眼图立刻打开。
4.5 四个参数的协同考虑
上面四个参数不是孤立的。线速率高了,抖动预算就紧——你需要更低抖动的参考时钟和更强的均衡。预加重和均衡也是一对跷跷板:TX 加重多一点,RX 均衡就可以少一点,但系统总功耗会变大。
实际工程中我会做这样的决策链:
- 确定线速率 → 查手册中对应速率要求的参考时钟频率和 PLL 分频。
- 选择参考时钟 → 优先标准频率,实测抖动满足 GTY 的 SPEC。
- 评估通道损耗 → 用 S 参数或 TDR 判断所需均衡深度。
- 设置预加重 & 均衡 → 仿真 + 板级扫描迭代。
对了,还有一个容易被忽略的事:跨包间隔(CJPAT) 测试时要记得关闭 RX 的 DC 平衡漂移补偿,否则 DFE 的收敛会受低频分量干扰——我踩过这个坑,在 25 GE 链路调试时卡了两周。
嗯,GTY 的关键参数就讲到这里。记住,这四个参数是你跟高速链路对话的“四字真言”。把它们的物理含义和相互作用搞懂,调试起来才不会迷茫。