4. 内存子系统设计:DDR4/DDR5内存布线拓扑、供电与SPD/PMIC
内存子系统,说白了就是CPU和内存条之间的高速公路。这条路修得宽不宽、平不平,直接决定了整机性能的上限。我这些年经手过不少主板项目,从DDR3一路做到DDR5,踩过的坑真不少。今天咱们就聊聊DDR4和DDR5在设计上的那些关键点。
4.1 布线拓扑:T-Type vs Daisy-Chain
先讲布线拓扑。你想想看,CPU要跟多个内存颗粒通信,信号怎么走?这就涉及到拓扑结构了。
4.1.1 T-Type拓扑
T-Type,也叫T型拓扑。信号从CPU出来,走到一个分叉点,然后等长分支到两个DIMM插槽。就像字母“T”一样。
优点:
- 两个插槽的信号延迟理论上一致
- 对双通道对称性友好
缺点:
- 分支会产生反射,信号质量差
- 频率高了以后,眼图很难看
- 布线占面积大,走线绕来绕去
4.1.2 Daisy-Chain拓扑
Daisy-Chain,菊花链。信号从CPU出来,先经过第一个DIMM,再走到第二个DIMM。像一串葡萄,一颗一颗串过去。
优点:
- 信号反射小,适合高频
- 布线简单,走线短
- DDR4和DDR5的主流选择
缺点:
- 两个插槽的延迟不同
- 对端接电阻要求高
我个人习惯,DDR4从2400MT/s开始,一律用Daisy-Chain。DDR5更是没得选,必须用Daisy-Chain。为什么?因为DDR5的速率起步就是4800MT/s,T-Type根本扛不住。
4.2 内存供电:VDD/VDDQ/VPP
供电是内存子系统的命脉。电压不稳,内存就罢工。DDR4和DDR5的供电要求差别很大,咱们一个一个说。
4.2.1 DDR4供电
DDR4主要用三个电压:
| 电压轨 | 标称值 | 用途 | 电流需求 |
|---|---|---|---|
| VDD | 1.2V | 核心供电 | 2-5A(视DIMM数量) |
| VDDQ | 1.2V | I/O接口供电 | 1-3A |
| VPP | 2.5V | 字线升压 | 0.1-0.3A |
嗯,这里要注意。VDD和VDDQ虽然都是1.2V,但必须分开供电。为什么?因为VDDQ的噪声会耦合到核心电路,导致数据出错。我曾经在一个项目里偷懒,把VDD和VDDQ用同一个LDO供电,结果跑memtest86全是错误。后来分开供电,问题立刻消失。
4.2.2 DDR5供电
DDR5的供电变化很大。VDD降到了1.1V,VDDQ还是1.1V,但VPP变成了1.8V。最关键的是,DDR5引入了PMIC(电源管理芯片),把供电集成到了内存条上。
| 电压轨 | 标称值 | 用途 | 备注 |
|---|---|---|---|
| VDD | 1.1V | 核心供电 | 由PMIC产生 |
| VDDQ | 1.1V | I/O接口供电 | 由PMIC产生 |
| VPP | 1.8V | 字线升压 | 由主板提供 |
| VDDSPD | 1.8V/3.3V | SPD供电 | 由主板提供 |
DDR5的PMIC是个好东西。它把复杂的电源管理放到了内存条上,主板只需要提供5V的输入电压。这样主板的供电设计简单了很多,但对PMIC本身的要求就高了。
4.3 SPD与PMIC
SPD和PMIC,这两个东西在DDR5时代变得特别重要。
4.3.1 SPD(串行存在检测)
SPD是一颗EEPROM,里面存着内存条的配置信息。包括容量、时序、电压、频率等等。BIOS启动时,会通过I2C总线读取SPD,然后自动配置内存控制器。
DDR4的SPD比较简单,就是一颗8-pin的EEPROM。DDR5的SPD升级了,变成了SPD Hub。它不仅能存配置信息,还能做温度监测和电压监测。
SPD Hub的主要功能:
- 存储内存配置信息
- 实时监测温度(通过热敏电阻)
- 监测VDD/VDDQ/VPP电压
- 支持I2C和I3C总线
我个人建议,设计DDR5主板时,一定要留出I3C总线。虽然现在很多BIOS还在用I2C,但I3C是趋势。速率更快,功耗更低。我去年做的一个项目,就是因为没留I3C,后来客户要求升级,结果还得改版。
4.3.2 PMIC(电源管理芯片)
PMIC是DDR5最大的变化。它集成在内存条上,负责产生VDD和VDDQ。主板只需要提供5V的输入电压和VPP(1.8V)。
PMIC的关键参数:
- 输入电压:5V ±5%
- 输出电压:VDD 1.1V,VDDQ 1.1V
- 输出电流:每路最大3A
- 效率:>85%
- 开关频率:2-4MHz
4.4 布线实战要点
最后,分享几个我这些年总结的布线要点。
- 阻抗控制:DDR4单端线50Ω,差分线100Ω。DDR5要求更严,单端线40Ω,差分线80Ω。别搞混了。
- 等长布线:DDR4的地址/控制线,组内等长控制在±20mil以内。DDR5更严,±10mil。数据线DQS和DQ之间,等长控制在±5mil。
- 参考平面:内存走线必须参考完整的GND平面。别在走线下面开槽,否则阻抗会突变。
- 去耦电容:每个VDD/VDDQ引脚旁边放一个0.1μF的电容。位置越近越好,我一般控制在50mil以内。
- 端接电阻:Daisy-Chain的末端要加端接电阻。DDR4用39Ω到VTT,DDR5用22Ω到VDDQ。
好了,内存子系统设计就聊这么多。记住,DDR4和DDR5虽然都是内存,但设计思路完全不同。DDR5的PMIC和SPD Hub是新的挑战,也是新的机会。多花点时间研究PMIC的datasheet,比什么都强。