4. 眼图模板与规范:Gen4眼图模板参数、合规要求

眼图模板这东西,说白了就是一把“标尺”。你拿眼图去量信号质量,合不合格,模板说了算。Gen4的眼图模板比Gen3严了不少,我最早看规范时也吓了一跳——怎么窗口缩这么小?

不过搞过几次测试就明白了,PCIe 4.0跑16 GT/s,信号周期才62.5 ps,抖动和噪声稍微大一点,眼就闭上了。模板就是逼着你把通道和收发器都做到位。

核心要点:Gen4眼图模板由四个关键参数定义——眼高、眼宽、最差眼宽、模板中心位置。合规性判定需要同时满足发射端眼图测试和接收端抖动容限测试。

4.1 眼图模板的三个核心参数

标准里定义了三个维度,我习惯记成“高、宽、位置”。

参数Gen4规格说明
眼高(Eye Height)≥ 100 mV(差分)在模板中心垂直方向上的最小开度
眼宽(Eye Width)≥ 0.3 UI(约18.75 ps)在模板中心水平方向上的最小开度
最差眼宽(Worst Eye Width)≥ 0.2 UI(约12.5 ps)考虑所有数据抖动后的最窄宽度,不能低于这个值

嗯,这里要注意——眼高和眼宽都是在“模板中心位置”测量的。这个中心位置在哪儿?规范里写了,是经过一定的抖动消除(Dual-Dirac去卷积)之后的眼图中心点。

我记得有一次项目,眼图看起来挺漂亮,但一上模板就报错。后来发现是时钟恢复(CDR)的带宽设错了,眼图中心偏移了0.05 UI。你想想看,这么一偏,模板边缘就切到眼里去了。

4.2 模板形状与合规判定区域

Gen4的眼图模板不是简单的一个矩形框,标准里定义了一个六边形模板。为什么是六边形?因为实际信号的眼图边缘不是垂直的,抖动和噪声导致的眼闭合是斜线过渡的。六边形更接近真实失效边界。

合规判定的规则其实很简单:

  • 所有采样点必须落在六边形模板的外部(即模板内部是禁止点)
  • 模板内的点数量 = 0,才算通过
  • 眼图测量需要采集至少 10⁶ 个UI以上的比特,确保统计意义
避坑:我曾经遇到一个情况——眼图大部分点都在模板外,但靠近模板边角处有一小撮毛刺扎进去了。测量仪器的采样点不够多,测10次可能漏掉。后来把采集时间拉长到10秒(16 GT/s下约10¹²个UI),问题才暴露出来。所以采集样本数不能省,最少1M UI,建议10M以上。

4.3 眼图模板与抖动预算的关联

模板参数不是凭空来的,它和系统的抖动预算直接挂钩。Gen4的总抖动预算(TJ)约0.6 UI(37.5 ps),其中随机抖动(RJ)占约0.17 UI,确定性抖动(DJ)占约0.43 UI。

你看眼宽要求0.3 UI,其实就是从总抖动预算里扣掉了CDR跟踪能力和接收机均衡裕量后,剩下给信号开度的空间。

// 简化版抖动预算分配(Gen4为例)
总抖动 TJ = 0.6 UI
- 随机抖动 RJ(rms) = 0.025 UI → 峰峰值 ≈ 0.17 UI (BER=10⁻¹²)
- 确定性抖动 DJ = 0.43 UI
  - 数据相关抖动 DDJ = 0.18 UI
  - 占空比失真 DCD = 0.05 UI  
  - 码间干扰 ISI = 0.20 UI
- 剩余眼宽预算 = 0.6 - 0.17 - 0.43 = 0.0 UI?不对。

// 实际CDR会跟踪低频抖动,所以有效眼宽预算更好:
TJ_eff = 0.6 - (CDR跟踪到的抖动)  
≈ 0.6 - 0.12 = 0.48 UI
眼宽要求取 0.3 UI → 留出0.18 UI裕量
实战技巧:我做合规测试时,习惯先看抖动分解(Jitter Decomposition)。如果眼宽不够,先看ISI占多少。大部分问题出在PCB走线损耗太大,导致ISI过高。补一点CTLE或FFE,眼宽就上来了。

4.4 Gen4接收端抖动容限要求

发射端眼图达标还不够,接收端也得扛得住抖动。规范里对接收端抖动容限(Jitter Tolerance)有明确要求——接收机必须能容忍一定量的正弦抖动,而不能发生误码。

频率范围抖动幅度(峰峰值)测试条件
10 kHz – 100 kHz0.3 UI低频抖动,CDR应能跟踪
100 kHz – 1 MHz0.2 UI中频段,需要均衡器配合
1 MHz – 10 MHz0.15 UI高频抖动,主要由PLL决定
> 10 MHz0.1 UI超高频,通常不是问题

说白了,就是你在接收端注入一个正弦抖动信号,看看BER会不会超过10⁻¹²。我当初在实验室折腾过一个案子——板子眼图测出来完全合格,但连上对端设备就掉链路。后来查了一周,发现接收端PLL的带宽偏窄,在50 kHz附近有增益峰值,正好把抖动放大了。换成宽带宽PLL就没事了。

4.5 眼图模板测试流程框架

我把整个测试逻辑整理成了一幅图,方便你记。

Gen4眼图合规测试流程 信号采集 时钟恢复 眼图合成 模板比对 眼高/眼宽提取 抖动分解 合规判定 所有测试必须在BER=10⁻¹²下进行,样本数 ≥ 10⁶ UI,推荐10⁷ UI以上

流程中最容易出问题的其实是“时钟恢复”这一步。不同的CDR带宽会得到不同的眼图中心,进而影响模板通过率。我建议你在测试前先用校准文件验证一下CDR设置是否和待测设备匹配。

4.6 常见的Gen4眼图不合格原因与对策

  1. 眼高不足:多半是链路损耗太大,或者TX幅度设置偏低。检查PCB走线长度和过孔数量,考虑加CTLE。
  2. 眼宽不足:抖动过大。优先看ISI,调整TX的FFE系数能显著改善。
  3. 眼图中心偏移:CDR相位设置不当或参考时钟抖动偏大。检查PLL的锁定状态。
  4. 模板边角有毛刺:可能是信号反射或串扰。仔细检查阻抗匹配,特别是连接器区域。

我曾经在一个服务器主板上折腾了三天,眼高总是差5 mV。后来拿TDR测了一下链路阻抗,发现BGA焊球处有个小凹坑,阻抗偏低。换了焊接工艺就过了。有时候,眼图不合格不一定是设计问题,制造工艺也会坑你。

总结:Gen4眼图模板的核心就是:六边形模板、眼高≥100 mV、眼宽≥0.3 UI、最差眼宽≥0.2 UI。合规测试不只是看眼图,还要结合抖动分解和接收端容限。记住——眼图是结果,抖动和损耗才是根因。