2. DDR5信号特性

做 Eye Mask 测试,你首先得摸清 DDR5 的信号脾气。

跟我刚接触 DDR5 那会儿一样,很多人一上来就盯着示波器上的眼图看。但说实话,如果你不了解这颗内存颗粒的速率、电压域和时序关系,你看到的眼图有可能只是“看起来漂亮”,实际上问题一堆。

这一章我们把底层的信号特性说透。这些东西是 Eye Mask 测试的基础,逃不掉。

2.1 数据处理速率:从 3200 到 8000+ MT/s

DDR5 最大的变化就是快。真快。

DDR4 末期主流在 3200 MT/s 左右,DDR5 起步就是 4800 MT/s,现在 JEDEC 标准最高推到 6400 MT/s,厂商超频版本已经冲到 8000+ MT/s 了。

你想想看,一个 UI(Unit Interval)才多少时间?

速率 (MT/s) UI 周期 (ps) 上升时间 20-80% 典型值 (ps) 眼图开度挑战
4800 208.3 ~60 中等
5600 178.6 ~52 较大
6400 156.3 ~45 严峻
8000 (OC) 125.0 ~35 极其苛刻

关键点:速率越高,UI 越短,眼图在水平方向上的余量就越少。我之前有个项目,DDR5 跑 6400 MT/s,一开始眼图 Mask 测试死活过不了。后来发现是走线等长没控好,差了几个 ps,直接吃掉了一大块眼宽。

这里有个概念你得刻在脑子里:上升时间与 UI 的比值。当上升时间超过 UI 的 35% 时,信号已经趋近于“三角波”而非“方波”,这时候眼图中央的采样区域会急剧缩小。

个人习惯:我评估一个新设计时,会先算一下 UI 的 1/3 是多少。如果走线的传播延迟超过了这个值,那反射控制就必须格外小心。

2.2 电压域:VDDQ、VPP、VREFCA 与 VREFDQ

DDR5 的供电比 DDR4 复杂。不是简单的一个 1.2V 就完事了。

DDR5 引入了两个核心电压域,还有一个内部的参考电压。搞不清楚这些,你测眼图时连探头的地线该接哪儿都可能迷糊。

  • VDDQ (1.1V 典型值): 数据 I/O 供电。眼图测试时主要看这个电压域的信号质量。纹波要求很严,通常在 ±3% 以内。
  • VPP (1.8V): 字线升压供电。这个电压如果脏了,会影响行地址的激活稳定度,间接导致时序抖动。
  • VREFCA (VDDQ/2): 命令与地址总线的参考电压。由主板产生,必须非常干净。
  • VREFDQ (内部可调): 数据总线 DQ 的参考电压。由 DDR5 颗粒内部产生,可以通过 MR 寄存器调整。这对眼图测试太重要了。

避坑:我曾经遇到一个案例,眼图 Mask 测试一直在 pass 和 fail 之间随机跳。折腾了两天,最后发现是 VREFDQ 的寄存器设置错了,实际值比理想值偏了 2%。调回来之后,眼图 Margin 立刻恢复正常。记住,测 DQ 眼图前,必须确认 VREFDQ 设置正确。

2.3 时序参数:tCK、tDQSCK 与 DQ-DQS 偏斜

眼图测试不只是看电压摆幅够不够大。时序上的东西,更像是隐形的杀手。

DDR5 采用了 DQS(数据选通信号)与 DQ(数据信号)同步传输的源同步架构。你读数据时,颗粒会同时送出 DQS 和 DQ。接收端用 DQS 来采样 DQ。

这里有个核心参数叫 tDQSCK (DQS 输出相对于 CK 的延迟)。DDR5 的这个参数快得吓人,一般只有 5-8 ns。这意味着 DQS 和 CK 之间要保持极低的时钟偏斜。

3.4 DQ-DQS 偏斜 (tDQS2DQ)

眼图测试时,我们真正关心的是 DQ 相对于 DQS 的建立保持时间。这个量就叫 DQ-DQS 偏斜。

JEDEC 标准里,对于 DDR5-6400,要求 DQ 相对于 DQS 的有效窗口必须满足 ±0.1 UI 的偏斜容限。

换算一下:6400 MT/s 下,0.1 UI 就是 15.6 ps。换句话说,DQ 信号边沿和 DQS 边沿之间的时间差,不能超过 15.6 ps。你的 PCB 走线哪怕多弯了 2 mm,这个偏斜就可能超标。

我建议你在做 Eye Mask 测试之前,先把 DQS 相对于 CK 和 DQ 相对于 DQS 的时序关系测一遍。这是前置检查,不做就等于盲测。

2.5 知识体系:DDR5 信号特性全景图

下面这张图,把上面讲的几个维度串起来了。

DDR5 信号特性知识体系 数据处理速率 4800 - 8000+ MT/s 供电电压域 VDDQ / VPP / VREF 时序参数 tCK / tDQSCK / 偏斜 UI = 1 / 速率 参考电压精度 建立保持窗口 影响 Eye Mask 测试 眼高、眼宽、Magin 设计权衡: 上升时间、UI 与电压摆幅三者互相制约。过快的上升时间虽能提升眼宽,但会引入串扰和 EMI。 Eye Mask 测试是将这三者转化为一个可视化通过/失败判断的最终验证手段。

2.6 从特性到测试:我的一个实战经验

最后分享一个真实的调试过程。

有一块服务器主板,DDR5 插满 8 条 RDIMM。运行 memtest 没问题,但 Eye Mask 测试就是 fail。眼图下半部分有个小凹坑,刚好打在 Mask 的角上。

我按照上面讲的知识点排查:

  1. 先看电压:VDDQ 纹波 30 mV,有点大,但还在 spec 内。接着查 VREFCA,干净。
  2. 再看时序:测 DQS 和 CK 的偏斜,结果发现有一条 DQS 走线比其他长了 5 mm。这个偏斜在低速时没问题,但在 5600 MT/s 下恰好被放大。
  3. 验证:在 PCB 上飞了一根短跳线补偿这部分延迟。再测,眼图完美通过。

你看,这就是 DDR5:速率、电压、时序,三角关系。任何一个角落出问题,最后都会在眼图上现原形。

我给你的建议:学习 DDR5 Eye Mask 测试,别只学操作。把这些物理层特性吃透。测眼图的时候你才知道自己在看什么、该调什么。否则,你就是在盲目地去碰运气。