4. Agilex DDR4/DDR5接口信号完整性实战
Agilex 器件的 DDR4/DDR5 接口能否跑到目标速率,往往不取决于控制器 IP 配置是否正确,而取决于 PCB 上的拓扑、端接与驱动强度是否与颗粒负载匹配。本节围绕四个相互耦合的问题展开:走线拓扑怎么选、ODT 与驱动强度怎么配、时序与信号质量如何协同、Write/Read Leveling 与眼图如何验证。
一、拓扑选择:Fly-by 与 T 型分支的本质差异
DDR4/DDR5 的地址、命令、控制(ADDR/CMD/CTRL)总线是一驱多负载,拓扑决定了每个颗粒看到的信号是否一致。Fly-by 拓扑把颗粒沿一条主干依次串接,走线到各颗粒的分支(stub)很短,主干阻抗连续,因此高速下反射小、眼图裕量好;代价是各颗粒到控制器的走线长度不同,到达时间存在固有偏斜(tpd 差),必须靠 Write/Read Leveling 逐颗粒补偿。T 型分支从一点对称分出多路等长走线,各颗粒时延一致、无需 leveling 补偿,但分支点阻抗突变严重,分支越长、速率越高,反射与振铃越明显,通常只适合 DDR4-2133 以下或负载很少的场景。
Agilex 的 DDR4 设计一般推荐 Fly-by,DDR5 由于速率更高(常见 3200~4800 MT/s 及以上)几乎必须采用 Fly-by。判断依据可以简化为:当数据速率超过约 2400 MT/s 且颗粒数 ≥2 时,优先 Fly-by;若板面空间迫使采用 T 型,应把分支长度控制在 200 mil 以内并降低速率预期。
二、ODT 与驱动强度配置
ODT(On-Die Termination)和驱动强度共同决定信号幅度、上升沿与反射抑制。Agilex 侧通过 OCT(On-Chip Termination)设置输出阻抗与并联端接,颗粒侧通过 MR1/MR2 配置 RTT_NOM、RTT_WR、RTT_PARK。配置原则是让“驱动阻抗 + 走线阻抗 + 端接阻抗”形成接近匹配的链路。
以单条 40 Ω 走线、Fly-by 挂 4 颗 DDR4 为例:控制器写驱动可设 40 Ω(对应 OCT 34~40 Ω 档),颗粒 RTT_NOM 设 60 Ω、RTT_PARK 设 240 Ω、RTT_WR 设 120 Ω;读方向由颗粒驱动、控制器端接,控制器 RTT 设 40~60 Ω。DDR5 因 POD 电平与更高频率,通常把 RTT_PARK 降到 40~60 Ω 以增强吸收。驱动强度过强会抬高过冲与 di/dt 噪声,过弱则上升沿变缓、建立/保持窗口被压缩,因此不要一味追求“最强驱动”。
| 参数 | 典型取值(示例) | 影响 |
|---|---|---|
| 控制器写驱动 OCT | 34~40 Ω | 过强→过冲;过弱→边沿慢 |
| 颗粒 RTT_NOM | 60 Ω | 抑制读/写空闲期反射 |
| 颗粒 RTT_WR | 120 Ω | 写突发期间吸收能量 |
| 颗粒 RTT_PARK | 240 Ω(DDR4)/40~60 Ω(DDR5) | 非选中颗粒的静态端接 |
| 控制器读端接 RTT | 40~60 Ω | 匹配读回波,改善读眼 |
三、时序与信号质量的协同优化
时序(tDQSS、tDQSQ、tQH、建立/保持窗口)与信号质量(眼高、眼宽、抖动)不是两件独立的事:加大驱动或减小端接可能改善边沿、却引入过冲使眼高下降;放宽时序裕量可能掩盖反射导致的误码。协同优化的做法是:先用 IBIS 仿真扫描 ODT/驱动组合,得到眼图与过冲的折中;再在硬件上用 Write/Read Leveling 把每颗粒的 DQS 与 DQ 对齐,把时序窗口“摆正”到眼图中心。
Agilex 的 EMIF IP 提供 per-pin 的 DQS 延迟与 DQ 延迟调节。实操中先跑 Read Leveling 找到 DQS 门控窗口中心,再跑 Write Leveling 对齐 tDQSS,最后用 per-bit deskew 补偿 DQ 间偏斜。若某颗粒始终无法收敛,通常不是算法问题,而是该颗粒的 stub 过长或端接不匹配,应回到拓扑与 ODT 上排查。
四、Write/Read Leveling 与眼图测试
Write Leveling 让控制器知道“写 DQS 相对 CK 要提前/延后多少”,使颗粒采样点落在 DQ 有效窗口中心;Read Leveling 让控制器找到读 DQS 的门控位置,使读回数据被正确捕获。两者都依赖可调延迟线,Agilex 通过 EMIF 校准引擎自动完成,但前提是硬件上 DQS 与 DQ 的走线偏斜在可控范围(一般要求组内 ≤5 mil、组间按 leveling 能力放宽)。
眼图测试是最终判据。用示波器在颗粒焊球或测试点探测 DQ/DQS,触发于 DQS,累积足够 UI 后观察眼高、眼宽与抖动。判断标准可参考:眼高 ≥ 0.3 V(DDR4 POD 1.2 V 电平示例)、眼宽 ≥ 0.5 UI、总抖动在预算内。若眼图闭合,按“先端接、后驱动、再走线”的顺序调整,而不是直接改时序参数掩盖问题。
把上述四步串起来,Agilex DDR4/DDR5 接口的信号完整性工作就有了可复现的路径:拓扑决定物理上限,ODT 与驱动决定波形质量,Leveling 把时序窗口摆正,眼图给出最终验收依据。任何一步缺失,都会让另外三步的努力被掩盖。