PCIe Gen5 概述与基本概念

做 PCIe 测试这么多年,每次新标准出来,总有人问我:“到底 Gen5 比 Gen4 强在哪?” 说白了,就是快。但快不是全部,信号质量、功耗、协议层的兼容——这些才是我们测试要盯住的硬骨头。今天这一章,我们先搭个框架,把 Gen5 是什么、为什么、怎么测这几个问题理清楚。

1.1 从 Gen4 到 Gen5:我们到底升级了什么?

PCIe Gen5 的数据速率是 32 GT/s,相比 Gen4 的 16 GT/s 翻了一倍。嗯,数字好看,但代价不小。速率翻倍意味着每个 UI(Unit Interval)只有 31.25 ps——你想想看,一个比特的宽度就那么点时间。我在项目中遇到过,示波器带宽不够直接让眼图变成一团糊,根本没法看。

关键参数对比

参数Gen4Gen5
数据速率16 GT/s32 GT/s
每通道带宽~2 GB/s~4 GB/s
16 通道总带宽~32 GB/s~64 GB/s
编码方式128b/130b128b/130b
UI 宽度62.5 ps31.25 ps
参考时钟抖动要求0.6 ps RMS0.5 ps RMS

注意看参考时钟抖动要求。从 0.6 ps 压到 0.5 ps,这 0.1 ps 的差异让很多老款时钟源直接出局。我曾经帮客户排查一个 Gen5 链路不稳定问题,查了两天才发现是评估板上的晶振指标没达标——相位噪声超标 3 dB,眼图闭合得像条缝。

1.2 Gen5 链路拓扑是个什么结构?

PCIe 的链路拓扑还是老样子:一个 Root Complex 连着若干 Switch,每个 Switch 下挂 Endpoint。不过 Gen5 为了兜住 32 GT/s 的信号完整性,对走线长度、过孔数、连接器损耗都加了更严的约束。

注意: Gen5 规范要求通道总损耗不超过 36 dB @ 16 GHz。这句话在合规测试里会被反复引用——你测回损、插损时拿它做 pass/fail 判据。

我自己习惯把这套拓扑画成一个简单的层级图,方便跟软件团队对齐测试点。

PCIe Gen5 典型拓扑结构 Root Complex PCIe Switch Endpoint 1 Endpoint 2 Endpoint 3 测试点通常选在连接器入口、Switch 出口和 Endpoint 输入。Gen5 要求所有差分对走线 长度偏差控制在 ±5 mil 以内,否则时延差会吃掉眼宽。

1.3 物理层:信号怎么从 A 传到 B?

Gen5 沿用 128b/130b 编码,有效数据效率接近 98.5%。但速率上去了,信号在 PCB 走线上的衰减成了头号敌人。我测过一块 12 层板的 Gen5 通道,在 16 GHz 频点插损高达 28 dB——规范要求是 -36 dB,勉强在限内,但回损已经快到 -12 dB 的边界了。

小经验: 调试时先用 VNA 扫 S 参数,重点关注 Sdd21(差分插损)和 Sdd11(差分回损)。如果 Sdd11 在高频段抖动超过 3 dB,多半是过孔阻抗不连续。我曾经在 28 GHz 附近看到一个 4 dB 的毛刺,拆开一看是过孔反焊盘挖得太小,打了补丁才过的测试。

1.4 协议层:训练、协商与复位

Gen5 的链路训练状态机(LTSSM)和 Gen4 基本一致,但新增了若干针对 32 GT/s 的均衡协商机制。具体来说——

  • Polling/L0s/L1/L2:电源状态迁移没变,但是 Gen5 对去抖时间要求更严:退出 L1 必须 5 μs 内稳定到速率,超了就报错误。
  • 均衡协商:Gen5 支持 4 种预设系数(Preset +3 到 -2),链路训练时会自动比较谁的误码率最低。如果某 Preset 跑出来的 BER 大于 1E-12,LTSSM 会回退重训。
  • 链路宽度协商:必须先从 1 通道开始,然后协商到 2、4、8、16。我见过一个 bug:芯片宣称支持 x16,但训练到 x8 后死活不往上了——原因是内部 PCIe 控制器一个 Lane 的接收器挂了。
避坑: 高速示波器做 Gen5 眼图测试时,务必保证参考时钟和 DUT 时钟同源。我曾经图省事用了内部参考,结果测出来眼高只有 80 mV,换成外部时钟源后立刻跳到 180 mV——白浪费一整天。

1.5 合规测试的核心:信号完整性 + 协议一致性

Gen5 合规测试分成两大块:电气层和协议层。电气层主要看眼图、抖动的方方面面。

电气合规项目清单(部分)

测试项目规范要求测试工具
差模眼高(Eyebrow Height)≥ 210 mV实时示波器 + 均衡模型
差模眼宽(Eyebrow Width)≥ 0.45 UI实时示波器 + 软件眼图
总抖动(TJ@1E-12)≤ 0.42 UI抖动分解软件
随机抖动(RJ)≤ 0.15 UI抖动分解软件
差分插入损耗(IL)≥ -36 dB @ 16 GHz矢量网络分析仪
差分回波损耗(RL)≥ -12 dB @ 16 GHz矢量网络分析仪

协议合规则重点看链路训练过程是否健康——比如有没有反复重训、Preset 切换次数是否过多、L0s/L1 进出延时是否在规范窗口内。这部分我习惯用协议分析仪抓录完整的训练序列,然后用脚本自动比对规范里的状态转移图。

关键心得: 合规测试不是一次过的。有时候眼图达标但协议层报错,检查发现是读卡器芯片的 TX EQ 没有按协商结果配置。你一定要同时看电眼和协议,两手都要硬。

1.6 做 Gen5 测试前,你该准备什么?

这里给一张清单,你可以照着一项项清点——

  1. 示波器:带宽至少 40 GHz(建议 50 GHz),采样率不低于 200 GSa/s。
  2. 眼图分析软件:支持 Gen5 均衡模型(CTLE + DFE),能自动测量眼高、眼宽、抖动。
  3. 矢量网络分析仪(VNA):频率覆盖到 40 GHz,能测差分 S 参数。
  4. 协议分析仪/训练器:支持 32 GT/s 实时解码,建议带 LTSSM 状态跟踪。
  5. 测试线缆与 Probe:差分探头的带宽至少 40 GHz,线缆损耗要预先校准。
  6. 参考时钟源:相位噪声在 100 kHz~10 MHz 不小于 -130 dBc/Hz,抖动 ≤ 0.5 ps RMS。
省时技巧: 别第一次就上全链路测试。先做单通道的回环测试(Loopback),把示波器触发设好,确认自己的测量环境没问题后,再换到 DUT 完整链路。我每次开新项目都这么干——至少能省半天 debug 时间。

好了,Gen5 的基本概念就聊到这儿。你拿这张图、这张表、这个清单,再对照你手上的 DUT 数据手册,心里就有数了。后面章节我们会一步步拆解每个测试项的操作细节,到时候不少坑我会提前跟你打招呼。嗯,保你少走弯路。