1. Gen4 Equalization 概述与演进:从并行总线到高速串行
做信号完整性这么多年,我有个很深的体会:总线技术每一次换代,本质上都是在跟物理极限掰手腕。今天咱们聊的 Gen4 Equalization,其实就是这个掰手腕过程里最核心的一招。
为什么这么说?我来给你拆开看看。
1.1 从并行总线说起
早年间(PCI、PCI-X、DDR 那些年代),总线都是并行的。数据线、地址线、控制线各走各的,一捆线排在那里,看着挺壮观。我刚开始工作的第一个项目就是调试一个 32 位并行总线,板子上密密麻麻的走线,光等长约束就折腾了两周。
并行总线有个好处:带宽理论上跟线宽成正比。你有 32 根数据线,一个时钟周期就能传 32 bit。但问题是——
- 信号间串扰严重:线挨着线,高频时互相耦合,你跳我也跳。
- 同步时序窗口越来越窄:所有线必须在一个时钟边沿对齐,频率一高,skew 就把时序吃光了。
- 功耗和 PCB 面积都扛不住:线多了,驱动器多,功耗翻倍;布板空间也紧张。
我记得当时做一次仿真,频率从 66 MHz 提到 133 MHz,眼图直接糊成一团。项目经理过来看了一眼,问:“还能往上提吗?”我说:“提不了,物理上就这个命。”
所以行业开始转向——高速串行总线。
1.2 高速串行:用一根线干所有事
串行就是把并行的 32 位、64 位数据,变成一串 0/1 序列,在一对差分线上跑。你不觉得这个思路很巧妙吗?
- 信号线从几十根变成 2 根(差分对),串扰大幅降低。
- 没有同步时钟,改用 时钟恢复(CDR) 从数据流里提取时钟,不再担心 skew。
- 频率可以拉得很高——PCIe 1.0 是 2.5 GT/s,到 PCIe 4.0 已经 16 GT/s,Gen5/Gen6 更高。
但代价也明显:一根线上的速率太高,信道损耗会吃掉信号。你想想看,PCB 走线、过孔、连接器、线缆……每一个环节都会衰减高频分量。到了一定频率,接收端看到的信号已经变成一团模糊的波形。
核心矛盾:信道是带宽受限的,但你需要传输的信号速率越来越高。信号在频域上高频分量被严重衰减,时域上就会产生码间干扰(ISI)和眼图闭合。
这就是均衡技术诞生的根源。
1.3 什么是 Equalization?一句话讲清楚
说白了:均衡就是在发射端或接收端,对信号进行预处理或后处理,抵消信道带来的畸变。
打个比方:你对着山谷喊话,回声会叠加到你下一句话上。均衡就相当于你在喊话之前先预判一下回声,调整你的音量或节奏,让对面听到的是干净的。换个角度,也可以是接收端听到回声后,主动把回声抵消掉。
在 PCIe 体系里,均衡主要分三类:
| 均衡类型 | 位置 | 作用 | 典型技术 |
|---|---|---|---|
| 发射端均衡 (Tx EQ) | 发送器 | 预加重 / 去加重 | FFE (前馈均衡器) |
| 接收端均衡 (Rx EQ) | 接收器 | 补偿高频损耗 | CTLE (连续时间线性均衡器) |
| 判决反馈均衡 (DFE) | 接收器 | 消除后标 ISI | DFE + 时钟恢复 |
嗯,这里要注意:高速串行链路通常会把 Tx FFE、Rx CTLE、Rx DFE 三者配合使用,不是只用其中一个。我在一个 Gen3 项目中试过只调 Tx EQ 不碰 Rx CTLE,结果眼图怎么都打不开。后来把 CTLE 的增益曲线调了调,问题才解决。均衡从来不是单点作战。
1.4 Gen4 为什么特别强调均衡?
PCIe 4.0 的速率是 16 GT/s,相比 Gen3 的 8 GT/s 直接翻倍。信道损耗在 8 GHz 处的衰减比 4 GHz 处严重得多——典型 FR4 板卡,8 英寸走线在 8 GHz 时损耗可能超过 15 dB。这个衰减量已经不是简单的预加重能搞定的了。
而且,Gen4 引入了一个重要变化:均衡协商机制。
以前 Gen3 的均衡参数基本是固化在 PHY 里的,或者靠硬件 pin 配死。到了 Gen4,协议层面定义了完整的均衡训练流程——Equalization Training。具体来说:
- 链路初始化时,发送端先发送 TS1/TS2 序列 给接收端评估。
- 接收端根据自己的信号质量,请求发送端调整 Tx EQ 系数(去加重、摆幅等)。
- 发送端调整后,接收端再次评估。循环多次直到链路稳定。
- 如果协商失败,链路降速或尝试重训练。
这个机制,坦白讲,让硬件调试的门槛高了一个台阶。我之前帮一个客户排查 Gen4 链路不稳定问题,发现是 Tx EQ 的预设值跟该板卡的信道不匹配。手动改了几组系数后,眼图就张开了。可问题是——你怎么知道哪组系数最合适?这就要靠均衡训练流程来动态寻找。
避坑指南:我曾经在 Gen4 项目中遇到过接收端对 Tx 的去加重请求始终不收敛的情况。排查到最后才发现,原来是发送端 PHY 的 FFE 抽头数量不够,无法提供接收端要求的最小去加重幅度。所以选型时一定要确认 PHY 的 FFE 能力是否覆盖你的信道损耗范围。
1.5 Gen4 Equalization 知识体系一览
下面这张图帮你梳理本章的核心逻辑:从并行总线的瓶颈,到串行高速的挑战,再到均衡的三大支柱和 Gen4 的动态训练。
1.6 从 Gen4 到低功耗退出重训练
好,既然 Gen4 均衡需要动态训练,那链路一旦进入低功耗状态(比如 L1 或 L2),再退出时会发生什么?
简单说:退出时链路必须重新训练均衡。但是重训练需要时间,如果每次退出都走完整的 full training 流程,延迟会很大,功耗也会突然跳升。
这就引出了本课程后半部分的核心——低功耗退出重训练优化。我们会在后面章节详细讲 L0s/L1/L2 各状态下的均衡保持机制、快速重训练方法、以及硬件实现中常见的坑。
不过现在,你先把基础打牢:均衡的本质、三大组件、以及 Gen4 的动态协商机制。后面的内容都建立在这之上。
一个小建议:如果你刚接触 Gen4 均衡,可以先用仿真工具(比如 ADS 或 HyperLynx)搭一个最简单的点对点链路模型。分别扫一下不均衡、仅 Tx EQ、Tx+Ctle、全链路的眼图。亲眼看到眼图从闭到开的过程,比读十遍书都管用。
我个人习惯把这节课的内容浓缩成一句话:并行到串行是趋势,串行到均衡是必然。Gen4 的均衡训练,就是让这个必然变得可行的工程化手段。