GTY收发器架构总览:PMA与PCS分层结构、参考时钟分布、供电体系

这一章咱们聊聊GTY收发器的整体框架。说白了,就是搞明白它内部是怎么分层的、时钟怎么走、电怎么供。很多新手一上来就扎进寄存器配置,结果连PMA和PCS谁管什么事都没搞清,后期调试一脸懵。我自己的习惯是——先看架构图,脑子里有个地图,再动手。

PMA与PCS:物理层与协议层的分工

GTY把收发器电路拆成两大块:PMA(物理介质适配层)和PCS(物理编码子层)。你可以把PMA想象成“纯模拟拳击手”,负责处理信号电平、时钟恢复、串并转换这些硬核的模拟活儿。而PCS更像“数字大脑”,做8B/10B编码、64B/66B编码、弹性缓冲、通道绑定这些协议相关的工作。

我在项目里遇到过一种情况:高速链路误码率很高,查了半天发现是PCS的弹性缓冲深度没调对。嗯,数字和模拟的边界往往就在这里出问题。

核心原则:PMA管“信号”,PCS管“数据”。两者通过一个内部并行总线(如20位、32位或40位宽)交换数据。

分层结构细节

咱们更细一点看每一层负责什么:

层级 子模块 职责描述
PMA(模拟前端) TX驱动器、RX均衡器、CDR 信号发射/接收、时钟数据恢复、预加重/去加重
PMA(数字部分) Serializer / Deserializer 并转串、串转并,数据位宽转换
PCS(发送方向) 编码器、加扰器、对齐字符插入 8B/10B或64B/66B编码,加扰,插入逗号字符
PCS(接收方向) 弹性缓冲、字对齐、解码器 比特对齐、弹性缓冲、解码、去扰

一个小技巧:当你配置GTY时,PMA部分基本是固定的,取决于线速率和参考时钟。PCS则有很多可编程选项。记住:“能不动PMA就不动,调PCS更快。”

参考时钟分布

时钟是高速收发器的命根子。GTY有两级时钟架构:全局参考时钟(REFCLK)和本地PLL分频时钟。每个Quad(四个收发器为一组)内部有一个CPLL和一个QPLL。CPLL通常用于较低速率(比如1~6.6Gbps),QPLL用于更高速率(最高到28Gbps甚至以上)。

我以前犯过一个错误:把CPLL和QPLL的参考时钟源接反了,结果链路锁不上。查了一整天,最后发现是QPLL的分频比设错,导致压控振荡器跑飞。

警告:不同Quad之间的参考时钟不能随意跨接。如果需要共享时钟,必须使用专用的GREFCLK输入或IBUFDS_GTE。否则抖动会超标,无法通过合规性测试。

供电体系

GTY收发器需要多路电源,因为模拟电路对电源噪声非常敏感。典型供电如下:

  • VCCAUX(1.8V)——辅助电源,给PLL和校准电路用。
  • VCCINT(0.85V或0.9V,视工艺节点)——内部逻辑电源,给PCS数字部分和PMA部分数字电路。
  • VCCIO / VCCO(1.2V或1.5V)——输出驱动电源,取决于接口标准。
  • MGTAVCC(1.0V)——收发器模拟专用电源,最敏感的一路。
  • MGTAVTT(1.2V)——终端匹配电源,影响信号完整性。

我的经验:MGTAVCC必须走单独的电源层,最好用LDO供电,不要直接接开关电源。我见过一块板子因为MGTAVCC纹波过大,眼图完全闭合,换了LDO后一切正常。

架构总览图

下面这张图把PMA/PCS分层、时钟分布、供电关系一次性画清楚。你可以对照着看,脑子里的地图更立体。

GTY收发器架构总览 PMA 物理介质适配层 TX 驱动器 / 预加重 RX 均衡器 / DFE CDR / SerDes REFCLK 缓冲 / 分频 PCS 物理编码子层 编码 / 加扰 / 对齐插入 解码 / 去扰 / 字对齐 弹性缓冲 / 通道绑定 速率匹配 / 时钟补偿 内部并行总线 20/32/40位 REFCLK 输入 IBUFDS_GTE → 分布 CPLL / QPLL 每Quad一组,分频产生本地时钟 供电体系(关键电源轨) MGTAVCC
1.0V MGTAVTT
1.2V
VCCAUX
1.8V
VCCINT
0.85V
VCCO
1.2/1.5V
注意:MGTAVCC建议使用LDO独立供电,开关电源纹波会导致眼图恶化 各Quad之间 REFCLK不能跨接!

看图建议:这张图把PM→PCS的总线、时钟、供电都放在了一起。你可以把图保存下来,后续配置时对照着看哪个模块对应哪个寄存器。

把架构吃透了,后面每一章的细节你都能快速定位到它在总图中的位置。好,这次就到这儿。