边缘AI加速板PCB:NPU芯片散热设计与高速DDR走线等长实操
边缘AI加速板(RK3588 NPU / 算能BM1684 / 地平线J5)的PCB设计有两个硬骨头:NPU芯片在INT8推理时功耗能到15–25W(8 TOPS级别),散热没做好直接降频掉算力;DDR4/DDR5走线速率3200MT/s+,等长差50mil系统就随机死机。下面以RK3588 + 4片LPDDR4X(3200MT/s,32bit位宽)的6层板为例。
一、NPU散热设计:热阻路径与布局
NPU芯片(如RK3588的NPU单元集成在SoC内)顶部结温上限105℃,环境55℃时允许温升50℃。散热路径:芯片Die → 封装焊球 → PCB铜皮 → 散热器/风扇。
布局要点:
NPU芯片底部焊盘(PowerPad)打9×9阵列0.3mm via到L2 GND铜(整面铺,不打分割),via间距0.8mm,导热系数1.5W/m·K的导热硅脂填充
L2 GND铜通过4×4阵列0.5mm via到L3(另一GND层),再通过边缘过孔阵到背面散热铜皮(2oz铜,面积≥芯片投影面积的2倍)
散热器选用铝挤型(鳍片高度≥15mm),底部贴导热垫(3W/m·K,厚度0.5mm),压紧力≥5psi
风扇策略:PWM调速,55℃以下停转,65℃起转(1000RPM),85℃全速(4000RPM)
// 风扇控制伪代码(RK3588 GPIO + PWM)
void fan_control(float temp) {
if (temp < 55) pwm_set_duty(0); // 停转
else if (temp < 65) pwm_set_duty(25); // 低速
else if (temp < 85) pwm_set_duty(60);
else pwm_set_duty(100); // 全速
}
⚠ 散热器不能压在NPU芯片正上方的DDR走线区域——DDR走线在L4/L5,散热器压力会导致PCB弯曲,影响阻抗连续性。散热器投影区应避开DDR扇出区。
二、DDR走线等长实操
LPDDR4X(3200MT/s)的Fly-by拓扑,数据线DQ/DQS/DQM每组等长,地址/命令/控制线相对CK等长。RK3588的DDR接口分两个channel(32bit+32bit),每组16bit。
分组与等长规则:
数据组(DQ0-DQ15 + DQS0 + DQS0# + DM0):组内等长±10mil
地址/命令/控制(CA0-CA5 + CS + CKE + ODT):相对CK等长±25mil
CK差分对(CK_t/CK_c):对内等长±2mil,对间等长±10mil
所有DDR走线参考L2 GND铜,阻抗50Ω单端/100Ω差分
Cadence Allegro约束设置:
# 数据组等长规则
create_match_group -name "DQ_GRP0" -type relative_delay
set_match_group_delay -match_group "DQ_GRP0" -delta 10 -mode length
add_pin_pair -match_group "DQ_GRP0" -net "DQ0" -pin "U1.A1" -pin "U2.B2"
# ... 依次添加16个DQ + DQS + DM
# 地址/命令组相对CK
create_match_group -name "CA_GRP" -type relative_delay
set_match_group_delay -match_group "CA_GRP" -reference_net "CK_P" -delta 25
蛇形走线技巧:
补偿段用45°折线(不用圆弧,节省空间),振幅≥3倍线宽(3W),间距≥2W
同一组内蛇形线尽量集中布置,避免跨分割
CK差分对走线最短,其他地址线围绕它绕行
三、层叠与阻抗
6层板推荐叠构:
L1:信号(DDR走线)+ 少量GND铜
L2:GND(完整参考层,不分割)
L3:电源(VDD_DDR 1.1V / VDDQ 0.6V)
L4:信号(DDR走线,与L1对称)
L5:GND
L6:信号(低速/电源)
DDR走线只在L1和L4走,参考L2/L5 GND。阻抗控制通过调整线宽和介质厚度实现,工厂会提供叠构参数。
四、验证与调试
TDR测试:板厂切片测阻抗,50Ω±10%,差分100Ω±10%
等长检查:Allegro的report_delay看各组最大偏差,数据组应<10mil,地址组<25mil
信号质量:用示波器测DQ/DQS眼图,3200MT/s下眼高>200mV,眼宽>0.4UI
散热验证:满载跑ResNet50,红外热像测NPU表面温度<85℃(环境25℃)
五、三个翻车高发点
DDR走线跨分割:L2 GND在DDR区域被电源过孔打断,导致阻抗突变。L2在DDR投影区必须完整,电源过孔打在板边或DDR区域外
散热器固定螺丝压到DDR走线:螺丝孔离DDR扇出区<5mm,拧紧后PCB变形导致DDR焊盘虚焊。螺丝孔应距离DDR区域>10mm
等长规则忘了加DQS:数据组只配了DQ,没配DQS和DM,实际DQS比DQ长30mil,读操作时序违规。必须把DQS/DM加入同一match group





