1. 认识高速收发器:GTH/GTY/GTP 到底是什么?

做 FPGA 设计的朋友,迟早会跟高速收发器打交道。我第一次接触这东西是在一个 10G 光通信项目上,当时看着原理图上一堆 GTX、GTH 的引脚,说实话有点懵。后来踩了不少坑,才慢慢摸清楚门道。

今天咱们就来聊聊高速收发器的基础。说白了,它就是 FPGA 里专门负责高速串行通信的硬核模块。Xilinx 家把这玩意儿分成了好几种:GTP、GTH、GTY、GTM 等等。名字看着花哨,但核心原理是一样的。

1.1 为什么需要 SerDes?

传统的并行总线,比如你熟悉的 LVDS,数据线一多,问题就来了。信号偏移、PCB 布线困难、功耗大。我做过一个 32 位并行总线,跑 500MHz,光是等长布线就折腾了两周。

SerDes 就是来解决这个问题的。它把并行数据转成串行,用一对差分线传输。你想想看,32 根线变成 2 根,PCB 走线瞬间清爽了。而且串行信号频率高,但抗干扰能力反而更强。

核心思想: SerDes = Serializer(串化器)+ Deserializer(解串器)。发送端并转串,接收端串转并。

1.2 GTH/GTY/GTP 的区别

很多新手会问:GTH 和 GTP 到底差在哪?我简单总结一下:

类型 最大线速率 适用场景 我常用的器件
GTP 6.6 Gbps 千兆以太网、SATA Artix-7、Spartan-7
GTX 12.5 Gbps PCIe Gen2、10G 以太网 Kintex-7、Virtex-7
GTH 16.3 Gbps PCIe Gen3、25G 以太网 Kintex UltraScale
GTY 32.75 Gbps 100G 以太网、Interlaken Virtex UltraScale+
GTM 112 Gbps 800G 以太网 Versal

嗯,这里要注意:速率越高,功耗越大,设计难度也越大。我建议新手先从 GTP 或 GTX 入手,别一上来就搞 GTY。

1.3 SerDes 的基础原理

SerDes 的工作流程,我用一个简单的图来说明:

SerDes 基本结构 并行数据 (n bit) Serializer 串行数据 (1 bit) 差分传输线 串行数据 (1 bit) Deserializer 并行数据 (n bit) CDR 时钟恢复 发送端:并行 → 串行 接收端:串行 → 并行 + 时钟恢复 核心:PLL 倍频 + CDR 时钟数据恢复

发送端这边,PLL 把参考时钟倍频到高速率,Serializer 把 n 位并行数据逐位串行输出。接收端更复杂一些,CDR(时钟数据恢复)要从数据流里提取时钟,然后 Deserializer 再把串行数据转回并行。

我的经验: 刚开始做 SerDes 设计时,总觉得 CDR 很神秘。后来发现它就是个锁相环,只不过参考时钟是从数据边沿提取的。说白了,就是让接收端的时钟跟发送端同步。

1.4 PMA 与 PCS 层功能划分

高速收发器内部,分成了两个逻辑层:PMA 和 PCS。我习惯把它们比作「物理层」和「链路层」。

PMA 层(物理介质适配层)

PMA 是真正跟物理信号打交道的部分。它负责:

  • 串化/解串: 并串转换的核心工作
  • 时钟生成: PLL 倍频、分频
  • 时钟恢复: CDR 从数据中提取时钟
  • 预加重/均衡: 补偿高频损耗
  • 差分驱动/接收: 物理电平转换

我记得有个项目,板子走线长了点,信号眼图都闭上了。后来调整了 PMA 的预加重参数,眼图立马打开了。所以说,PMA 层的参数调优,是硬件工程师的必修课。

PCS 层(物理编码子层)

PCS 层在 PMA 之上,负责数据的编码和协议适配:

  • 8B/10B 或 64B/66B 编码: 保证 DC 平衡,提供时钟信息
  • 通道绑定: 多通道对齐
  • 时钟修正: 消除时钟域间的频率差异
  • PRBS 生成/校验: 用于链路测试

避坑指南: 我曾经在一个项目中,PCS 层的时钟修正没配好,导致数据偶尔丢包。查了两天才发现是弹性缓冲区的深度设置不对。记住:PCS 层的配置,直接影响链路的稳定性。

1.5 收发器的典型应用

高速收发器能干的事太多了。我列几个常见的:

  1. 以太网: 10G/25G/100G,用 GTH/GTY 实现
  2. PCIe: Gen2/Gen3/Gen4,FPGA 做端点或交换
  3. 视频传输: DisplayPort、HDMI 的物理层
  4. JESD204B: 高速 ADC/DAC 接口
  5. 自定义协议: Aurora、Interlaken 等

你想想看,一个 GTH 收发器能跑到 16Gbps,四个绑一起就是 64Gbps。这在十年前是想都不敢想的。

1.6 小结

这一章咱们把高速收发器的基本概念捋了一遍。GTP/GTH/GTY 的区别,说白了就是速率等级不同。SerDes 的核心就是并串转换加时钟恢复。PMA 管物理信号,PCS 管编码协议。

下一章我会深入讲收发器的时钟架构。嗯,那个才是真正让人头疼的地方。到时候我会分享一些我在时钟设计上踩过的坑,保证对你有用。

一句话总结: 高速收发器 = SerDes + PMA + PCS。搞懂这三块,收发器设计就入门了。

可可精品资料库