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 以内并降低速率预期。

Fly-by 与 T 型分支拓扑对比(ADDR/CMD 总线) Fly-by:主干连续,短 stub,逐颗粒时延递增 Agilex DRAM0 DRAM1 DRAM2 DRAM3 t0 t0+Δ t0+2Δ t0+3Δ 到达时间不同 → 需 Write/Read Leveling 逐颗粒补偿 T 型分支:等长对称,分支点阻抗突变,反射明显 Agilex DRAM0 DRAM1 DRAM2 等长 → 时延一致,但分支点反射叠加,高速下眼图收缩

二、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 噪声,过弱则上升沿变缓、建立/保持窗口被压缩,因此不要一味追求“最强驱动”。

参数典型取值(示例)影响
控制器写驱动 OCT34~40 Ω过强→过冲;过弱→边沿慢
颗粒 RTT_NOM60 Ω抑制读/写空闲期反射
颗粒 RTT_WR120 Ω写突发期间吸收能量
颗粒 RTT_PARK240 Ω(DDR4)/40~60 Ω(DDR5)非选中颗粒的静态端接
控制器读端接 RTT40~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、总抖动在预算内。若眼图闭合,按“先端接、后驱动、再走线”的顺序调整,而不是直接改时序参数掩盖问题。

调试顺序建议:拓扑与阻抗 → ODT/驱动 → Leveling 收敛 → 眼图确认。每一步都应在同一测试点、同一触发条件下对比,避免把不同条件的波形混在一起判断。
DDR5 的 POD 电平与 DFE 使眼图判据与 DDR4 不同,不能直接套用 DDR4 的眼高门限;同时 DDR5 的 RTT_PARK 取值更低,若沿用 DDR4 的 240 Ω 会导致反射显著增大。

把上述四步串起来,Agilex DDR4/DDR5 接口的信号完整性工作就有了可复现的路径:拓扑决定物理上限,ODT 与驱动决定波形质量,Leveling 把时序窗口摆正,眼图给出最终验收依据。任何一步缺失,都会让另外三步的努力被掩盖。