“去耦电容要就近摆放”这句话,我在各种原理图评审和Layout评审会上听过没有一千遍也有八百遍。真正有意思的是下一句:把同一句话再追一句“多近算近”,得到的回答通常就只剩“越近越好”“贴着引脚”“我们一直这么画的”。口头禅式的结论人人会背,但一旦落到具体数值上——一毫米走线值多少纳亨、一个过孔值多少纳亨、超过多远这颗电容就基本不干活了——很多做电源完整性(PI)的人反而说不上来。
这篇内容我想把“就近摆放”这件事从口诀变成可计算的东西。它适合几类人看:正在做高速数字板、电源网络阻抗(PDN)优化、DDR/SerDes供电设计的人;被“电容数量翻倍还是不达标”折磨过的人;以及刚入行、知道要靠近但说不清为什么的Layout和硬件工程师。读完你应该能做到三件事:用公式粗略算出某一段走线和某一个过孔的寄生电感;用目标阻抗、上升时间、自谐振频率三种判据回答“到底多近够用”;以及识别出评审里那几种“看起来贴得很近、实际上回路绕了一大圈”的典型画法。下面所有数字都给了推导过程,你可以直接代进自己的叠层参数里算。
1. 口诀成立的真正原因:被压缩的从来不是距离,而是回路电感
1.1 一颗 0.1µF 的电容,过了十几兆赫兹就变成了电感
很多人对去耦电容的印象停留在“它是个电容”。但在一个真实的供电网络里,一颗电容的阻抗随频率是这么走的:
Z(f) = ESR + j·( 2πf·L_loop - 1/(2πf·C) )低频段容抗 1/(2πfC) 占主导,频率越高阻抗越低;但电感项 2πf·L_loop 是随频率线性上升的。两条曲线在某个频率上大小相等、符号相反,阻抗掉到最小值(约等于 ESR),这个频率就是自谐振频率 SRF:
SRF = 1 / ( 2π · sqrt(L_loop · C) )过了 SRF,电容的容抗已经大于感抗,整个器件对外表现为一个电感,阻抗随频率重新爬升。这意味着:超过 SRF 之后,这颗电容“是不是电容”已经不重要了,它有多大的回路电感才重要。
拿常见的 0402 封装算几个值。取器件自身 ESL 约 0.5nH,加上安装寄生后总的回路电感按 1.2nH 估算:
| 电容值 | 回路电感 | 计算出的 SRF | 过了这个频率它就是电感 |
|---|---|---|---|
| 100nF | 1.2nH | 约 14.5MHz | 之后靠电感量说话 |
| 10nF | 1.2nH | 约 46MHz | 同上 |
| 1nF | 1.2nH | 约 145MHz | 同上 |
| 100pF | 1.2nH | 约 460MHz | 同上 |
这张表解释了两件事。第一,最常见的 0.1µF 电容,实际有效的“电容区”只到十几兆赫兹,几十兆赫兹以上的噪声它是靠自身那点电感在起作用——所以布局把回路做小,等于把这颗电容的可用频段往上顶。第二,把电容值缩小十倍,SRF 只往上走一个量级多一点,但代价是低频段的容值不够。这就是为什么单纯“堆小电容”效果有限,真正决定高频段表现的,是回路电感这个量。
1.2 回路电感由四段串起来,距离只占其中一段
“近”之所以有用,是因为它直接压的是回路电感里的两项。完整的去耦回路是这样的:
- 电源引脚到电容电源焊盘之间的走线电感;
- 电容焊盘到参考平面之间的过孔电感(电源侧一段、地侧一段);
- 电容器件本身的ESL;
- 平面在电流扩散过程中的扩展电感。
电流的实际路径是:芯片电源引脚 → 走线 → 电容上焊盘 → 电容内部 → 电容下焊盘 → 地过孔 → 地平面 → 回到芯片地引脚。任何一段变长,回路面积就变大,回路电感就变大。注意这里的关键词是“回路面积”,不是“直线距离”——这也是后面第 4 节要重点说的:电容贴在引脚旁边、但地过孔跑到两毫米外,回路照样是大的。
顺带说一个容易被忽略的点:高频下回流电流不会走“最近的直线”,它会在参考平面上沿着信号走线正下方走,走线多长、参考平面就在下面陪多长。所以走线长度和介质厚度这两个量,天然就出现在走线电感的公式里。
1.3 为什么“近”能直接换算成电容的数量
这是我认为最值得在评审会上讲的一句话:回路电感降一半,需要的电容数量大致也能降一半。
多颗电容并联时,等效电感近似按颗数下降(严格说还要考虑互感和平面耦合,实际收益会打点折扣,但数量级成立)。假设某电源域在 100MHz 处需要把阻抗压到 10mΩ。单颗 0402 电容布得很差、回路电感 5nH,在 100MHz 的感抗是 2π×100M×5n≈3.14Ω;如果布得很好、回路电感 1.2nH,感抗只有 0.75Ω。要达到同样的等效电感,前者需要的并联数量是后者的四倍多。
所以“就近摆放”从来不是审美问题,它直接对应 BOM 上的电容颗数,也就是面积、成本和贴装工时。我见过一个项目,300 多颗 0.1µF 铺满板子,PDN 仿真在 200MHz 附近还是压不下来,最后发现问题不在颗数,而在于其中大半电容的地过孔挂在了一条细长的地走线上,等效回路电感全在 4nH 以上。把这些电容的回流改到就近的地过孔之后,电容数量砍掉了三分之一,阻抗曲线反而更平。
2. 把“近”换算成 nH:走线、过孔、回路各贡献多少
2.1 走线电感:一条经验公式和几个典型值
一段走在参考平面上方、长度远大于宽度的走线,它的回路电感可以这样估:
L ≈ μ0 · h · l / w 其中 μ0 ≈ 1.2566 nH/mm,h 是走线到参考平面的介质厚度(mm), l 是走线长度(mm),w 是走线宽度(mm)这条公式的价值在于它告诉你三个变量的权重是等价的:介质厚度翻倍、走线加长一倍,或者走线宽度减半,效果都是电感翻倍。代入常见叠层,得到每毫米走线的电感量:
| 介质厚度 h | 走线宽度 w | 每毫米电感 | 1mm 走线的量级 |
|---|---|---|---|
| 0.10mm | 0.50mm | 约 0.25 nH/mm | 很宽很薄,最理想 |
| 0.10mm | 0.20mm | 约 0.63 nH/mm | 常见信号线宽度 |
| 0.20mm | 0.50mm | 约 0.50 nH/mm | 四层板常见情况 |
| 0.20mm | 0.20mm | 约 1.26 nH/mm | 口诀里“1nH/mm”的来源 |
| 0.30mm | 0.15mm | 约 2.51 nH/mm | 细脖子,最糟 |
那张“1nH/mm”的口诀是从最右边的行来的:薄走线加上较厚的介质,确实能到 1nH/mm 以上。但如果你把走线做到 0.5mm 宽、介质只有 0.1mm,每毫米只有 0.25nH,1mm 和 4mm 之间的差别就没有口诀说的那么吓人。
这就引出第一个实操结论:“就近摆放”和“加宽走线”是同一件事的两个面,哪个容易做就先做哪个。在引脚间距密集、实在挪不动的情况下,把连接电容的走线从 0.15mm 加宽到 0.4mm,等效于把距离缩短了将近三倍。很多人的思路只放在“挪位置”上,其实加宽往往更容易落地。
2.2 过孔电感:信号孔和回流孔是一对
一个孤立的过孔电感量不小,但真正有意义的是“去耦回路里那对过孔形成的环路电感”。一对平行导体(信号孔 + 就近的回流孔)的环路电感可以近似成:
L_loop ≈ (μ0 / π) · h · ln(s / d) 其中 μ0/π ≈ 0.4 nH/mm,h 是过孔长度(mm), s 是两孔中心距(mm),d 是孔径(mm)按 1.6mm 板厚、孔径 0.3mm、孔间距 1.0mm 代入:ln(1.0/0.3)≈1.20,得到 0.4×1.6×1.20≈0.77nH。这个量级和常见工程经验“一个过孔回路约 1nH”是对得上的。几个直接影响:
- 孔间距 s 进了对数项,所以回流孔离信号孔越近收益越明显。把距离从 1.0mm 压到 0.4mm,ln 项从 1.20 降到 0.29,环路电感直接降四倍。
- 板厚 h 是线性项,所以过孔穿越的层数越多越吃亏。电容放在靠近参考平面那一侧、用盲孔或短孔,比穿透整个板子的通孔好得多。
- 两个回流孔并联能把这一项再砍一半。空间允许的话,电容地焊盘旁边放两个地过孔,是最便宜的收益。
注意:这些公式是量级估算,不同叠层、孔径、孔壁镀铜厚度、是否有反焊盘都会带来偏差。做关键电源域时,建议用二维场求解器或叠层厂商给出的寄生参数数据做一次校核,别拿估算值当验收依据。
2.3 一份完整的回路电感预算表
把四段拼起来,就能看出“好布局”和“差布局”差在哪里:
| 回路组成部分 | 布局良好 | 布局一般 | 布局糟糕 |
|---|---|---|---|
| 器件 ESL(0402) | 0.5 nH | 0.5 nH | 0.5 nH |
| 走线(宽 0.4mm,长 1mm) | 0.3 nH | 0.6 nH(长 2mm) | 2.5 nH(长 4mm、细 0.15mm) |
| 过孔环路(含回流孔) | 0.3 nH | 0.8 nH | 1.8 nH(回流孔远、共享过孔) |
| 平面扩展 | 0.1 nH | 0.2 nH | 0.4 nH |
| 合计 | 约 1.2 nH | 约 2.1 nH | 约 5.2 nH |
这张表是本文的核心。它说明“多近”这个问题的答案其实是:上面四项加起来,别让总回路电感明显超过器件自身的 ESL。因为器件 ESL 已经是 0.5nH 了,如果走线加过孔再贡献 2nH 以上,你的电容就有八成的时间在当电感用。按每毫米 0.4nH 算,走线贡献控制在 0.5nH 以内,大致就是焊盘边缘到引脚 1~1.5mm 以内这个量级——这就是“就近”在数字上的来源,而不是谁拍脑袋定的。
3. 三个判据回答“到底多近够用”
3.1 按目标阻抗反推:从毫欧倒推纳亨
电源完整性设计里最常用的是目标阻抗法:
Z_target = (Vdd × 允许纹波百分比) / 瞬态电流举个具体的:1.0V 电源、允许 5% 纹波即 50mV、负载阶跃 5A,那么 Z_target = 50mV / 5A = 10mΩ。有了目标阻抗,就能反推每个频率点允许的电感量:
L_allow = Z_target / (2πf)在 100MHz 处,10mΩ 对应 0.016nH。这个数字一眼就知道不可能靠单颗电容实现——所以高频率段靠的是 N 颗电容并联,把 1.2nH 摊薄成 1.2/N nH。假设你目标是 100MHz 时不超过 50mΩ(放宽一点),需要等效 0.08nH,也就是 15 颗回路电感 1.2nH 的电容并联。如果布局差、单颗 5nH,同样目标就要 60 多颗。
这个判据最适合在方案阶段用:先定目标阻抗,再定单颗电容的回路电感预算,最后才去约束 Layout 的摆放距离。反过来先画完板子再问“要不要再加电容”,往往已经晚了。
3.2 按上升时间反推:什么时候必须当成传输线
第二个判据来自信号完整性。介质里电磁波的传播速度:
v = c / sqrt(εr)FR4 的 εr 取 4.2 左右,v ≈ 1.5×10⁸ m/s,也就是约 150mm/ns,换算成延时约 6.7ps/mm。如果一段连接的尺寸小于信号上升时间对应的空间长度的六分之一,就可以按集总参数处理:
l_max ≈ tr · v / 6tr = 100ps 时,l_max ≈ 100ps × 150mm/ns / 6 ≈ 2.5mm。也就是说,电源引脚到电容这段连接如果超过 2.5mm 左右,它已经不能简单当一个理想连线看待了,得考虑它的分布参数、反射和延时。这个数字和上一节按电感预算算出来的 1~1.5mm 是同一个量级,两者互相印证,很能说明问题。
不过这里要说清楚一个常见误解:去耦电容并不需要“在上升沿的时间内”把电流送出去。上升沿那几百皮秒内的电荷需求,是靠封装内电感和芯片内部的片上电容顶住的,外部电容响应的是几十兆赫兹以上的稳态高频噪声。所以时域判据更多是用来说明“超过几毫米,连线本身就有特性阻抗了”,而不是用来卡死摆放距离的硬指标。
3.3 按自谐振频率反推:电容还有多少“电容量”
第三个判据回答的是一个很实际的问题:不同容值的电容到底该怎么分配位置。前面算过,同样 1.2nH 回路电感下,100nF 的 SRF 只有十几兆赫兹,而 1nF 能到 145MHz。这意味着:
- 越靠近引脚的位置,越应该给高频段有效的那颗,因为它对回路电感最敏感,多零点几纳亨就废了;
- 容值大的电容本身 SRF 低,放在稍远一点的位置,多出来的那点电感对它的有效频段影响相对小。
再补一个容易被忽略的数据:不同封装的 ESL 差别不小。0201 大约 0.4nH 上下,0402 约 0.5~0.6nH,0603 约 0.8~1nH,0805 能到 1.2nH 以上。倒装几何封装(0306、0508 之类)能做到 0.3nH 甚至更低。所以在特别苛刻的场合,从 0603 换成 0402 带来的电感下降,可能比你把电容往引脚方向挪 1mm 还多。
同时提醒一个反向的坑:把相差悬殊的容值(比如 0.1µF 和 1nF)混在同一个电源域里并联,两颗粒的 SRF 之间会出现并联谐振峰,在那个频点上阻抗反而是抬起来的。如果这个峰正好落在你的噪声频段上,加电容等于帮倒忙。稳妥的做法是同一区域尽量用相同容值多颗并联,用颗数去铺平频段,而不是靠“容值组合”去凑。
3.4 三个判据怎么取舍
三个判据给出的是不同量级的约束,实际用的时候我一般这么分:
| 场景 | 主用判据 | 落地约束 |
|---|---|---|
| 普通低速数字/模拟电源 | 电感预算 | 焊盘到引脚 1.5mm 内,走线尽量宽 |
| 高速接口、DDR、SerDes 电源 | 目标阻抗 + 电感预算 | 同一侧摆放,就近过孔,必要时盲孔 |
| 超高速或射频供电 | 三个都用 | 倒装封装、就近地孔、场求解器校核 |
结论是:“多近”没有一个万能数字,但有一个通用原则——让电容的安装寄生电感明显小于器件自身 ESL。只要这条满足,剩下多出来的裕量不如花在减少电容数量或者改善平面结构上。
4. 评审时最容易放过的五种“伪就近”
4.1 电容贴住了引脚,回流过孔在两毫米外
这是我见过最多的一种。Layout 把电容摆得无可挑剔,焊盘紧挨着芯片引脚,但电容的接地焊盘是拉一根细走线,绕到两毫米外的一个公共地过孔上。结果上节说的那半段回路电感直接翻倍,前面省下来的全部还回去了。
排查方法很简单:把电容的两个焊盘到回流路径的距离都量出来,取大的那个。电源侧近、地侧远,回路就是大的。评审时我只看这一个数字,比看电容摆在哪有用得多。
4.2 走线串焊盘
为了省走线空间,有人把多个电容串在同一条走线上,电流要穿过第一颗的焊盘再到第二颗。这种“串糖葫芦”画法有两个问题:一是每颗电容多了一段共用的串联电感;二是中间那些电容实际得到的电压是经过前面电容的高频衰减之后的值,去耦效果被前一颗“截胡”了。
正确画法是每颗电容各自从电源节点引一条短支路,形如梳齿,而不是串成一串。电源引脚多的时候,可以让每个引脚直接对应一颗电容,做成一对一的短连接。
4.3 背面摆放与共享过孔
BGA 器件因为球间距太密,正面放不下电容,只能放到背面,这是合理的妥协。但放到背面之后要额外注意两点:过孔穿越的板厚变长了(前面公式里 h 是线性项),以及回流孔往往被迫离得很远。这时候用盲孔把电容直接连到内层平面、或者把地过孔紧贴电容地焊盘摆放,能挽回相当一部分。
共享过孔更普遍:好几颗电容的地焊盘汇聚到同一个过孔。这个过孔的电感是所有并联回路共同的串联项,它的收益不会因为你多放了几颗电容而变好。能一对一的就一对一,做不到也要限制共享数量,最多两颗。
4.4 电源引脚和电容之间隔着一段细脖子
引脚扇出的时候为了避开其他走线,经常会出现一段极细的连接(0.1~0.15mm)。按前面的表,0.15mm 宽、0.3mm 介质下每毫米 2.5nH,哪怕只有 0.8mm,也是 2nH,直接超过器件 ESL 的四倍。这种走线在 Layout 上看起来“很短”,但在电感上一点都不短。
遇到这种情况,宁可挪动电容的位置把这段细线消灭掉,或者把这段连接的参考平面做完整、把线加宽到 0.3mm 以上。宽度在这个公式里是分母,是最容易调整的杠杆。
4.5 大电容抢占了最近的位置
有些板子会在最靠近芯片的位置摆几颗 10µF 甚至 22µF 的大电容,理由通常是“这颗最重要”。但大容值电容的 SRF 天然较低,放在最近的位置并不能让它高频表现变好,反而挤占了小电容的位置。合理的分配是:靠近引脚的位置留给高频有效的小容值(或小封装),大容值往稍远处放,成组分布。
5. 可以直接照着画的摆放与走线规范
5.1 摆放顺序与优先级
给一个我实际会用的摆放流程,按优先级从高到低:
- 先把电源引脚按电流需求分成几组,确定每组需要几颗高频电容;
- 高频电容优先放在与芯片同一面,焊盘边缘到引脚的连接长度控制在 1.5mm 以内;
- 同一组内多颗电容沿引脚排布,不要全部挤在一端;
- 大容值电容(10µF 以上)单独成组,放在组边缘或稍远处,同样保证自己的回路短;
- 有空间的话,给每组配一颗稍大的“中频”电容(1µF 左右),补充 SRF 之间的空档。
5.2 走线、过孔、焊盘的处理
- 连接走线宽度不小于焊盘宽度,最好做到 0.3~0.5mm;宁可加宽,也不要为了“看着整齐”用细线;
- 地过孔紧贴电容地焊盘边缘,目标间距 0.5mm 以内,能放两个就放两个;
- 电源侧同样就近打孔连到电源平面,不要用电源走线绕一大圈再连;
- 电容下方的参考平面必须连续,绝不能跨过平面分割缝;
- 同一电源域的多颗电容,地过孔不要在平面远处汇聚,否则共同的回流路径会变成串联电感;
- 有条件时用盲孔或埋孔把电容直接连到内层平面,缩短孔长。
5.3 BGA 和密集引脚场景
BGA 的电源球通常是阵列排布,正面空间几乎为零,这时候有几条通用做法:
- 在 BGA 正下方的“过孔森林”里见缝插针放 0402 甚至 0201,走线长度可以做到 0.5mm 以内;
- 用平面分割把每组电源做成独立的小铜皮,电容直接坐在该铜皮上,靠铜皮到过孔,减少走线;
- 采用盘中孔(需塞孔电镀填平工艺)可以把电容焊盘直接压在过孔上,回路电感最低,但工艺成本和良率风险要评估;
- 如果必须放到背面,把电容尽量对准电源球的正下方,而不是挪到板边。
5.4 一份十项自查清单
评审时我会按这张表逐条过:
| 序号 | 检查项 | 合格线 |
|---|---|---|
| 1 | 电容与芯片是否同面 | 高频组必须同面 |
| 2 | 焊盘到引脚的连接长度 | ≤1.5mm |
| 3 | 走线宽度 | ≥0.3mm 或 ≥ 焊盘宽 |
| 4 | 地过孔到焊盘距离 | ≤0.5mm |
| 5 | 地过孔数量 | 每颗 1~2 个,不共享 |
| 6 | 是否有细脖子走线 | 不允许 <0.2mm |
| 7 | 参考平面连续性 | 电容下方无分割 |
| 8 | 是否有走线串焊盘 | 不允许 |
| 9 | 大容值电容是否抢占近位 | 高频组优先 |
| 10 | 混用容值是否产生谐振峰 | 同组尽量同容值 |
6. 摆完之后怎么验证
6.1 用 RLC 叠加做快速自查
不需要一上来就上三维电磁仿真。最省事的做法是把每颗电容建成一个 RLC 串联模型——R 取 ESR,L 取前面估算出的回路总电感,C 取标称容值(大容值要按直流偏压和温度降额后的实际值,这一步很多人漏掉,导致仿真结果比实测乐观),把所有电容并联,再叠加平面的等效电容和电感,最后算总的 |Z(f)| 曲线。这一步用一个表格软件就能做,十几分钟能出结果,用来判断“这一组够不够”非常有效。
实测经验是:这种简化模型在 100MHz 以内的预测和实测吻合得还不错,200MHz 以上开始出现偏差(平面谐振、封装效应、互耦开始主导),所以别拿它去下高频段的结论。
6.2 两端口阻抗测量与裸板测试板
要验证真实的 PDN 阻抗,常用的是两端口并联测量法:用矢量网络分析仪,一个端口注入、一个端口拾取,测出来的 S21 换算成阻抗,覆盖范围能从几十千赫兹一直到几个吉赫兹。但直接在有芯片的成品板上测有个绕不开的问题——芯片本身是一个低阻抗负载,会把电容的表现掩盖掉。
比较实用的折中是做一块裸板测试板:同样的叠层、同样的摆放、同样的电容,但不贴芯片,把电源和地在测试点引出。这块板测出来的是纯无源网络的阻抗,能真实反映你的布局好不好。如果条件是同一块板子在不同布局方案下的对比,用相对比较的方式最有说服力——绝对值受探头和校准影响较大,但两条曲线谁更低是一目了然的。
6.3 什么情况下值得上三维电磁仿真
三维全波仿真不是必须的。我的判断标准是三条:单板成本高、改板周期长(比如一次改板要两个月);工作频率超过 1GHz 或者电源噪声容限极窄;以及布局方案有两三个候选需要拍板。满足其中两条,就值得花时间建模。否则用 6.1 的简化模型加一块裸板测试板,性价比高得多。
6.4 我自己的取舍:做到什么程度就收手
最后聊点实际的。做了这些年,我的体会是“就近摆放”这件事有明显的收益递减点。从 5mm 压到 2mm,效果立竿见影;从 2mm 压到 1mm,还有收益但已经开始吃力;要做到 0.5mm 以内,通常就得动用盘中孔、盲孔、更小封装这些加成本的手段了。
所以我的做法是:先用目标阻抗确定需要的等效回路电感,再倒推单颗电容的电感预算,然后按第 5 节的规范去画,画完用简化模型过一遍曲线。如果曲线达标,就不再为了“更近一点”去动工艺和成本。口诀给的是方向,能不能收手要靠数字。一个能在评审会上说出“这组电容的回路电感预算大约 1.2nH,实测 150MHz 处阻抗 40 毫欧,够了”的工程师,比一个只会说“要靠近点”的工程师,日子好过得多。