4. PDN设计与去耦:目标阻抗、去耦电容选型与布局、PCB叠层与电源平面、PDN仿真基础

各位同学,咱们今天聊点实在的——PDN设计。说白了,就是怎么给你的FPGA喂电,喂得稳、喂得及时。

我见过太多项目,逻辑设计得漂漂亮亮,一上电就翻车。为什么?电源没伺候好。FPGA内部几百万个门同时翻转,电流需求瞬间飙升,电压稍微一掉,逻辑就乱了。嗯,这就是PDN要解决的问题。

4.1 目标阻抗:PDN设计的“金标准”

先问大家一个问题:你怎么判断PDN设计得好不好?

有个概念叫目标阻抗。它定义了一个频率范围内,电源分配网络允许的最大阻抗。

公式很简单:

Z_target = (VDD × Ripple%) / I_transient

举个例子:VDD=1.0V,纹波要求3%,瞬态电流5A。那么:

Z_target = (1.0 × 0.03) / 5 = 6 mΩ

也就是说,从DC到几百MHz,PDN的阻抗必须低于6毫欧。超过这个值,电压波动就会超标。

关键点:目标阻抗不是一条直线,而是一条频率相关的曲线。低频段靠VRM和 bulk电容,中频段靠陶瓷电容,高频段靠PCB平面和芯片封装。

我在项目中遇到过,有人把目标阻抗算出来就扔一边了。结果仿真一看,某个频率点阻抗飙到20mΩ。板子回来,FPGA跑高速接口时偶尔丢包。查了三天,最后发现是去耦电容布局不合理。你说冤不冤?

4.2 去耦电容选型与布局

去耦电容,说白了就是给PDN“补水”的。电流需求突然增大时,电容先顶上,等VRM反应过来。

4.2.1 电容选型:不是越大越好

很多人觉得电容越大越好,其实不然。电容有自谐振频率,超过这个频率,电容就变成电感了。

电容类型 典型容值 自谐振频率 适用频段
铝电解 100-1000 μF 几十kHz 低频
钽电容 10-100 μF 几百kHz 中低频
MLCC (X7R) 0.1-10 μF 几MHz 中频
MLCC (NP0/C0G) 10-100 nF 几十MHz 高频

我个人习惯,在FPGA电源管脚附近,放一组不同容值的电容。比如:10μF + 1μF + 0.1μF + 0.01μF。这样能覆盖从几百kHz到上百MHz的频段。

小技巧:同一容值的电容,封装越小,ESL越低,高频性能越好。0402封装的0.1μF,高频表现比0805好得多。

4.2.2 电容布局:距离就是生命

电容离FPGA电源管脚越远,寄生电感越大,去耦效果越差。我见过有人把电容放在板子背面,走线绕了半圈。那基本等于没放。

布局原则:

  • 小电容(0.01-0.1μF)离管脚不超过2mm
  • 中等电容(1-10μF)离管脚不超过5mm
  • 大电容(100μF以上)可以稍远,但也要在同一面
  • 每个电源管脚至少配一个高频电容

我曾经在一个项目里,把电容放在FPGA背面正下方,通过过孔直接连接。效果出奇的好,PDN阻抗降了30%。

注意:过孔本身也有电感。一个标准过孔约0.5-1nH。多个过孔并联可以降低总电感。我一般每个电容焊盘放2-3个过孔。

4.3 PCB叠层与电源平面

叠层设计,决定了PDN的“骨架”。好的叠层,能让电源和地之间形成天然的平板电容。

4.3.1 叠层原则

对于高速FPGA设计,我推荐至少4层板:

  • 顶层:信号 + 少量电源
  • 内层1:地平面(完整、无分割)
  • 内层2:电源平面(分割成不同电压域)
  • 底层:信号 + 少量电源

电源平面和地平面之间的距离,决定了平板电容的大小。距离越近,电容越大,高频去耦效果越好。

我一般要求叠层间距:

板厚 电源-地间距 平板电容密度
1.6mm 0.2mm 约50 pF/cm²
1.0mm 0.1mm 约100 pF/cm²

4.3.2 电源平面分割

FPGA通常需要多个电压:VCCINT、VCCAUX、VCCO等。这些电压域要在电源平面上分割。

分割时注意:

  • 分割线宽度至少20mil,避免爬电
  • 不同电压域之间不要有信号线跨过
  • 每个电压域尽量靠近对应的FPGA管脚区域

嗯,这里要注意:分割线太窄,容易造成电源平面之间的耦合。我见过一个设计,1.0V和1.8V之间只隔了5mil,结果1.0V上的噪声串到了1.8V上,导致DDR接口出错。

4.4 PDN仿真基础

仿真不是万能的,但不仿真万万不能。PDN仿真能帮你提前发现阻抗超标点,避免“板子回来再改”的悲剧。

4.4.1 仿真流程

  1. 提取PDN模型:从PCB布局中提取电源网络的RLC参数
  2. 添加器件模型:VRM、电容、FPGA的S参数或Spice模型
  3. 计算阻抗曲线:从DC到GHz,看Z(f)是否低于目标阻抗
  4. 时域仿真:注入瞬态电流波形,看电压波动

常用的工具有:

  • Cadence Sigrity PowerSI:专业PDN仿真,精度高
  • Ansys SIwave:适合整板PDN分析
  • Keysight ADS:适合局部PDN优化
  • 开源工具:OpenEMS、PyEDA(适合学习)

4.4.2 仿真结果怎么看

仿真完会得到一条阻抗-频率曲线。你要关注:

  • 低频段(<1MHz):看VRM和bulk电容是否足够
  • 中频段(1-100MHz):看陶瓷电容的谐振峰是否对齐
  • 高频段(>100MHz):看PCB平面电容和封装效应

如果某个频率点阻抗超标,先检查那个频段对应的电容布局。我一般会做“灵敏度分析”,看看调整哪个电容效果最明显。

实战经验:有一次仿真发现200MHz处阻抗超标。查了半天,发现是FPGA封装内部的电源-地电容太小。最后在PCB上靠近BGA区域加了一排0.01μF电容,问题解决。

4.5 知识体系总览

下面这张图,是我自己总结的PDN设计核心逻辑。你把它理解了,PDN设计就通了。

PDN设计核心逻辑 目标:Z(f) < Z_target 从DC到GHz,阻抗不超标 去耦电容 选型、布局、谐振 覆盖中高频段 PCB叠层与平面 平板电容、低电感 覆盖高频段 VRM与Bulk电容 稳压、储能 覆盖低频段 仿真验证 阻抗曲线分析 | 时域瞬态仿真 | 灵敏度分析 迭代优化:调整布局 → 重新仿真 → 达标 协同 协同

这张图把PDN设计的核心逻辑串起来了。从目标阻抗出发,三大支柱(去耦电容、PCB叠层、VRM)协同工作,通过仿真验证,最后迭代优化。你照着这个流程走,PDN设计基本不会出大问题。

好了,这一章的内容就到这里。PDN设计是个系统工程,需要理论和实践结合。我建议你找个实际项目练练手,哪怕只是仿真一下,也比光看书强得多。


公众号:蓝海资料掘金营,微信deep3321