GTY 收发器概述:从 SerDes 到高速接口的进化

各位工程师朋友,咱们开始聊 GTY 收发器。说实话,我第一次接触 GTY 是在一个 100G 光模块项目里。那时候板子调不通,眼图惨不忍睹。后来才发现,我对它的内部结构理解太浅了。从那以后,我花了大量时间啃文档、做实验。今天把这些经验整理出来,希望能帮你少走弯路。

GTY 是什么?说白了,它就是 Xilinx 在高性能 FPGA 里集成的一种串行收发器硬核。负责把 FPGA 内部的并行数据,转成高速串行信号发出去,再把收到的串行信号转回并行。它跑得很快——单 lane 速率从 500 Mb/s 一直能飙到 58 Gb/s 甚至更高。你想想看,这速度意味着什么?

  • 它直接决定了你能做什么样的高速接口:100G/200G/400G 以太网、PCIe Gen4/Gen5、JESD204B 等等。
  • 它也是整个 FPGA 里最复杂、最容易出问题的模拟部分之一。出错了光靠逻辑分析仪根本抓不到。

一句话记住 GTY:它是 Xilinx 当前最强的高速串行 I/O 解决方案,封装在 Ultrascale+ 及后续架构中。你只要看到板子上有 GTY 字样,就知道这块板子的串行带宽不是开玩笑的。

发展历程:从 GTP 到 GTY

Xilinx 的收发器家族,我按时间线捋一下:

  1. GTP——最早在 Spartan-6、Virtex-5 上出现。速率低,大约 3.125 Gb/s 到头。功耗控制还行,但性能有限。
  2. GTH——在 7 系列、Virtex-7 上大放异彩。速率跑到 12.5 Gb/s ~ 13.1 Gb/s。很多 PCIe Gen2/Gen3 项目都在用。
  3. GTY——Ultrascale+ 架构引入。速率直接冲到 28 Gb/s 以上。到了 Virtex Ultrascale+ VU9P 那一代,有些型号甚至支持 58 Gb/s PAM4。
  4. GTM——Versal 系列的新成员,速率更高,但咱们课程主要聚焦 GTY,那是现阶段性价比最高的主流。

我自己用过一段 GTH,后来切到 GTY。最大的感受是:眼图裕量大了很多。同样是 25 Gb/s 的信号,GTY 的均衡能力能让误码率低好几个数量级。嗯,这里要注意:速率越高,对 PCB 设计的要求也越苛刻。

应用场景:用在哪?为什么用?

GTY 的出现,直接推动了几个领域的变革:

应用领域 典型接口 GTY 优势
数据中心 / 网络 100G/200G/400G 以太网 高 lane 数集成,支持多通道绑定,省掉外部 SerDes 芯片
无线通信(5G) CPRI / eCPRI / JESD204B 低抖动、高动态范围,适合 AD/DA 前端
高速存储 PCIe Gen4/Gen5 / NVMe 内置 PCS,支持协议层直接映射
航空航天 / 国防 自定义高速链路 (JESD204C / Aurora) 可以在极端环境下保持信号完整性
测试测量 高速 ADC/DAC 数据搬移 无需外部缓存,直接对接 FPGA 逻辑

我曾经在 5G 基站项目中用 GTY 搭 eCPRI 链路。印象最深的是: 调试阶段最痛苦的不是逻辑,而是眼图闭合。换一根劣质同轴线,误码率直接翻几十倍。所以,GTY 再强,也怕烂背板。

提示:如果你正在规划一个 25 Gb/s 以上的接口,别想 GTH 了。GTH 在 12.5 Gb/s 以上就开始吃力。直接上 GTY,省心。

核心差异:GTY vs. GTH vs. GTP

很多人问我:选哪个?我一般会让他们先看这三项:速率上限、抖动容限、PCS 支持。

特性 GTP GTH GTY
最大线速率 3.125 Gb/s 12.5 ~ 13.1 Gb/s 28.05 / 32.75 / 58 Gb/s
参考时钟频率 最高 125 MHz 最高 250 MHz 最高 500 MHz
PLL 类型 单一 PLL + 分频 CPLL + QPLL 双 CPLL + 多通道 QPLL 共享
PCS 功能 基础 8B/10B 8B/10B + 部分 64B/66B 64B/66B + 64B/67B + PAM4
均衡能力 CTLE 简单 CTLE + DFE 入门 完整 CTLE + 一/二阶 DFE
典型功耗/每 lane ~60 mW ~200 mW ~350 mW (随速率变化)

你看,GTP 基本只适合 1-3 Gb/s 的老式接口,比如千兆以太网。GTH 在 12.5 G 以下还很能打。但一旦你碰 25 G 以上,GTY 就是唯一选择。我在 GTH 上做过一个 12.5 G 的 CPRI 链路,眼图睁开 0.3 UI 就算不错。换成 GTY 后,同样的 PCB 走线,眼图睁开超过 0.5 UI。

注意:GTY 的功耗比 GTH 高不少。如果你用满 16 个 lane 全速跑 28 Gb/s,光收发器部分就能吃掉 5W 以上。散热设计别马虎。

一张图看懂 GTY 家族定位

下面是我自己画的一张简图。它清楚地展示了 GTY 在 Xilinx 收发器家族中的位置,以及它跟 GTH、GTP 的关系。你一看就明白了。

Xilinx 收发器家族演进与定位 GTP (Spartan-6 / Virtex-5) → 3.125 Gb/s · 8B/10B · 低功耗 GTH (7 Series / Virtex-7) → 13.1 Gb/s · 8B/10B + 64B/66B · 主流选择 GTY (Ultrascale+ / Kintex / Virtex) → 28~58 Gb/s · PAM4 · 高速旗舰 GTM (Versal) → 112 Gb/s · PAM4 · 未来标杆 GTY 是目前性价比最高的高速收发器:支持 28 Gb/s NRZ 及 58 Gb/s PAM4,内部 PCS 功能完整

这张图我特意把 GTY 放在中间偏上的区域。你仔细看:它下面是 GTH(成熟稳重),上面是 GTM(前瞻激进)。GTY 正好卡在性能与功耗的最佳平衡点上。我个人选型时,只要速率在 25 Gb/s ~ 28 Gb/s 范围内,首选 GTY。超过 56 Gb/s 才考虑 GTM。

选型时你必须搞清楚的几个点

我这里再给你一个 checklist:

  1. 你的线速率是多少? 单向还是双向?GTY 支持全双工和半双工两种模式。
  2. 协议需要多少 lane? 比如 100G 以太网需要 4 个 25 Gb/s lane,GTY 刚刚好。
  3. 你想用 NRZ 还是 PAM4? 低于 28 Gb/s,NRZ 是主流;高于 28 Gb/s,PAM4 在 GTY 上也能跑,但设计和调试难度会翻倍。
  4. 参考时钟怎么来? GTY 对时钟抖动要求非常严。我以前吃过亏,用普通晶振去驱动 25 G 的 GTY,结果眼图抖到没法看。后来换了低抖动 VCXO 才搞定。

分享一个我的习惯:拿到 GTY 相关的文档后,第一步先看 “Supported Standards” 表格。看看它到底支不支持你的协议,别等到布线完了才发现不支持某种编码格式。

好了,第一章就说到这里。GTY 的定位、发展、应用与选型,我希望你脑子里已经有一个清晰的地图了。下一部分我们直接深入 GTY 的内部架构,看看它的 PCS 层和 PMA 层到底是怎么分工合作的。咱们一步步来。