4. 校准流程总览:校准的目的、校准阶段划分
DDR4 内存控制器与物理层(PHY)之间的时序窗口极其狭窄,尤其是在 Agilex 这类高端 FPGA 平台上,运行速率可达 3200 MT/s 甚至更高。任何由于 PVT(工艺、电压、温度)变化引起的信号偏移,都可能导致数据采样错误。校准流程的核心目的,就是通过硬件自适应的方式,动态调整读写路径上的延迟与电压参考,确保数据眼图中心对准采样时钟,从而保证数据传输的可靠性。
4.1 校准的四大核心目的
| 目的 | 说明 | Agilex 平台关键点 |
|---|---|---|
| 补偿 PVT 变化 | 芯片制造差异、温度漂移、电压波动会改变信号传播延迟。 | Agilex 的硬核内存控制器内置了温度补偿电路,但校准仍需要定期触发。 |
| 对齐 DQ/DQS 时序 | 确保数据信号(DQ)与数据选通信号(DQS)在接收端保持正确的相位关系。 | 写均衡和读均衡分别解决写入和读取路径上的 skew 问题。 |
| 优化电压参考(Vref) | 找到最佳的判决电压电平,使数据采样时的噪声容限最大。 | Agilex 支持 Vref 训练,可独立调整 DQ 和 CA 的参考电压。 |
| 保证数据眼图中心采样 | 通过延迟链调整,将采样时钟精确地移动到数据眼图的中央位置。 | 这是所有校准阶段的最终落脚点,直接决定系统稳定性。 |
4.2 校准阶段划分与执行顺序
Agilex 的 DDR4 校准流程遵循 JEDEC 标准规范,并在此基础上增加了针对 FPGA 架构的优化。整个流程分为多个阶段,必须严格按照顺序执行,前一阶段的结果是后一阶段的基础。下图展示了完整的校准流水线。
4.3 各阶段详细说明
4.3.1 初始化与复位
这是所有校准的前提。FPGA 首先完成 PLL 锁定,产生稳定的系统时钟和内存参考时钟。然后按照 JEDEC 规定的上电序列,依次拉高 CKE(时钟使能)、发送 NOP 命令、等待复位完成。Agilex 的硬核控制器会自动处理这些时序,但开发者需要确保 PHY 层的初始化状态机正确启动。
4.3.2 写均衡(Write Leveling)
在 DDR4 中,DQS 信号与 CK 时钟在颗粒内部必须保持特定的相位关系。写均衡的目的就是调整 FPGA 发送 DQS 的延迟,使得 DQS 的上升沿与 CK 的上升沿对齐。Agilex 通过向颗粒写入特定的数据模式,并读取反馈信号来判断对齐状态。
- 关键操作: 调整每个字节通道的 DQS 延迟。
- 成功标志: 颗粒返回的写均衡状态位被置位。
4.3.3 读均衡(Read Leveling)
读均衡解决的是读取路径上的时序问题。由于 PCB 走线长度和颗粒内部延迟的差异,从颗粒返回的 DQS 与 DQ 信号到达 FPGA 时可能已经发生偏移。读均衡通过调整 FPGA 内部的 DQS 延迟链,确保 DQS 的边沿正好位于 DQ 数据眼图的中央。
- 关键操作: 发送读命令,捕获返回的 DQS 相位,调整延迟。
- 成功标志: 所有字节通道的读 DQS 门控(DQS Gating)窗口正确打开。
4.3.4 Vref 训练
Vref(参考电压)训练是 DDR4 引入的一项重要功能。它允许系统动态调整 DQ 和 CA 的输入参考电压,以补偿芯片间的工艺差异和电压噪声。Agilex 的 PHY 支持精细的 Vref 步进调整。
| 训练类型 | 调整对象 | 典型步长 | Agilex 实现方式 |
|---|---|---|---|
| DQ Vref 训练 | 数据线输入参考电压 | 0.5% ~ 1% VDDQ | 通过 MR6 寄存器配置,硬件自动扫描最佳点 |
| CA Vref 训练 | 命令/地址线输入参考电压 | 0.5% ~ 1% VDDQ | 通过 MR5 寄存器配置,通常与 DQ Vref 独立 |
4.3.5 时序修调(Timing Fix)
这是校准流程的最后一步,也称为“精细校准”。在前几个阶段的基础上,对每个字节通道的读写延迟进行微调,补偿剩余的 skew。Agilex 的硬核控制器会执行一个内部搜索算法,遍历所有可能的延迟设置,找到使数据眼图张开最大的那个点。
4.4 校准流程的层次结构
从软件和硬件的角度来看,校准流程可以划分为三个层次,理解这个层次结构有助于调试和问题定位。
4.5 校准流程清单
在实际项目中,建议按照以下清单检查校准流程的完整性:
- 上电初始化: 确认 PLL 锁定、时钟稳定、复位释放。
- 写均衡: 检查所有字节通道的写均衡完成标志。
- 读均衡: 检查读 DQS 门控窗口是否正常打开。
- Vref 训练: 确认 DQ 和 CA 的 Vref 值已写入 MR5/MR6 寄存器。
- 时序修调: 验证读写延迟参数已锁定。
- 用户模式: 执行简单的读写测试(如 PRBS 或 Walking 1),确认数据无误。