3. Eye Mask 定义与 JEDEC 合规性标准归纳总结

做 DDR5 信号完整性仿真,绕不开一件事——Eye Mask。说白了,它是 JEDEC 给我们画的一把“尺子”。你的眼图信号如果碰到了掩模区域,那就说明合规性没过。我刚开始接触 DDR5 时,觉得这条规则有点死板,直到在某个项目里,信号明明闭合得不错,却因为一个很小的过冲踩到了掩模边沿,结果被迫调整了 ODT 配置。从那以后,我再也不敢小看这张 Mask 了。

3.1 什么是 Eye Mask?

眼图掩模,就是 JEDEC 在眼图坐标系里规定的 禁止信号进入的区域。JEDEC 会根据不同的速度等级和信号类型(DQ、DQS、CA)定义一组多边形或矩形区域。仿真时,我们需要把仿真得到的眼图波形叠加上去,如果任何摆动的轨迹进入了掩模内部,就判定为 不合格。

为什么要有这个区域?因为接收端需要保证一定的时序和电压裕量才能正确采样。如果眼图开口被掩模覆盖了,说明信号质量已经差到可能造成误码。嗯,这里有个容易忽略的点:掩模的尺寸和位置会随着 UI(单位间隔)变化,而且 CA 信号和 DQ 信号的标准不完全一样。

核心原则:眼图掩模不允许被任何信号轨迹穿越或覆盖。一旦检测到“违规”,必须通过调整驱动强度、端接、均衡或走线拓扑来修复。

3.2 JEDEC DDR5 Eye Mask 关键参数

JEDEC 在 JESD79-5 中明确给出了 DDR5 各类信号的 Mask 参数。以最常见的 DQ 信号(写操作)为例,主要参数包括:

参数 符号 DDR5-4800 DDR5-5600 DDR5-6400 单位
眼宽要求 tEHV 0.55 UI 0.55 UI 0.55 UI UI
眼高要求 VEV 240 240 240 mV
掩模高度(从Vref起算) VMASK ±160 ±140 ±120 mV
掩模宽度(从crossing起算) TMASK 0.2 UI 0.18 UI 0.16 UI UI
Vref直流电平 VREF 0.5 * VDDQ 0.5 * VDDQ 0.5 * VDDQ V

我的一点经验:UI 时间会随着频率升高而缩短,所以同样 0.55 UI 的时间会变小。DDR5-6400 下,一个 UI 才约 312.5 ps,0.55 UI 就是 171.9 ps——时序窗口非常紧张。很多新手只看百分比,忽略了时间,导致实际裕量不足。

3.3 速度等级带来的差异

JEDEC 对不同速度等级的定义不只是频率不同,掩模的 宽度和高度 也会缩放。你想想看,频率越高,信号抖动和噪声影响越大,所以标准反而会把掩模区域收窄、降低电压门限。我见过有人在仿真时直接用 4800 的 Mask 去套 6400 的信号,结果很多本来合格的波形被误判为 Fail——这是典型的参数没更新。

下面用表格列出三个常见速度等级的 UI 时间及对应 Mask 宽度的值:

速度等级 数据速率(MT/s) UI 时间(ps) TMASK 值(ps)
DDR5-4800 4800 416.7 83.3
DDR5-5600 5600 357.1 64.3
DDR5-6400 6400 312.5 50.0

注意:JEDEC 标准中的 Mask 形状并非所有信号类型都一样。DQS 信号通常有更宽的掩模宽度,因为它的抖动容限更大;CA 信号则对电压裕量要求更高。仿真前一定要确认目标信号类型对应的标准表格页号,不要张冠李戴。

3.4 仿真中如何检查 Eye Mask 合规性

大多数 SI 工具(如 ADS、HyperLynx、Cadence Sigrity)都内置了 Eye Mask 检查功能。我的个人习惯是分三步走:

  1. 配置 Mask 参数:根据实际的速度等级和信号类型,手动输入或从标准库中选取对应的 Mask 文件。建议用 UI 相对值填充,工具会自动缩放。
  2. 运行眼图仿真:使用 PRBS 或连续随机码激励,采集足够多的比特数(通常 105 以上),让眼图稳定闭合。
  3. 自动检测 vs 目视检查:工具会标注出违规区域。但我建议永远再目视确认一遍——有时候工具把接近但未触及的波形也标红了,需要人工判断是否为测量伪影。

如果出现了违规,先看是眼宽不足还是眼高不足。眼宽不足通常对应时序抖动过大,可以调均衡或降低 DFE 阶数;眼高不足则往往是电压损耗或终端不匹配,试试调整驱动强度。

3.5 避坑指南

我曾经踩过的一个坑:有一次仿真全部 pass,但样片测试却 fail。后来发现是仿真里用了理想时钟恢复(CDR),而实际芯片的 CDR 有相位噪声,导致采样点偏移到了 Mask 边缘。所以我建议仿真时一定要打开 CDR 模型,或者至少加一个 0.1 UI 的相位抖动来模拟真实情况。

另一个常见问题是 Mask 的参考电压(Vref)漂移。JEDEC 规定 Vref 在短时间内平均值为 0.5*VDDQ,但实际 PCB 上因为 IR Drop 可能会有 ±2% 的偏差。你可以故意偏移 Vref 做一次蒙特卡洛仿真,看看眼图开口是否还能包住 Mask。

还有,别忘了 DQ 和 DQS 的 相对时序关系。有些工具只校验单个信号的眼图,但 DDR5 的读操作需要 DQS 和 DQ 同时满足 Mask,且两者之间的 skew 也有上限。说白了,不是只看眼图就万事大吉了。

知识体系:Eye Mask 合规性检查流程

Eye Mask 合规性检查流程 获取 JEDEC Mask 参数 配置仿真 & CDR 运行眼图仿真 工具自动检测违规 目视确认 & 人工判断 ✅ 通过 ❌ 调整拓扑/驱动/均衡 重新仿真 💡 虚线反馈表示:调整后需重新运行仿真,直到全部通过且目视无异常。

上面这张图概括了从获取参数到最终通过的全流程。我个人特别强调中间那两步——工具检测后一定要目视确认。我曾遇到过一个案例,仿真工具因为统计算法把一些噪声尖峰误判为违规,目视后发现那些尖峰根本没进入 Mask 区域。如果直接按工具结果改设计,完全就是白费力气。

好了,Eye Mask 的定义、参数、速度差异以及检查流程就聊到这儿。记住一句话:Mask 不是摆设,它是 JEDEC 给我们的安全底线。理解它,你的合规性仿真才能做得扎实。