第四章 电源网络设计:模拟电源域与数字电源域

电源网络设计,说白了就是给芯片里的每个模块喂饭。喂得好,芯片跑得欢;喂不好,轻则性能打折,重则直接罢工。我做了这么多年混合信号设计,最怕的就是电源出问题——因为它往往藏得很深,等到流片回来才发现,那真是欲哭无泪。

这一章我们重点聊三个事:模拟电源域和数字电源域怎么分、去耦电容怎么摆、IR Drop怎么分析和优化。嗯,都是实战中绕不开的硬骨头。

4.1 模拟电源域与数字电源域:为什么要分开?

先问一个问题:为什么不能所有电路共用同一个电源?

你想想看,数字电路在翻转的时候,瞬间电流能有多大?几十毫安甚至上百毫安的尖峰电流,直接灌到电源线上。模拟电路呢?它要的是干净、稳定的电源。数字那边一翻,电源上就出现毛刺,模拟这边的放大器、ADC、PLL立马跟着抖。这就是典型的「数字污染模拟」。

所以,必须分开。

我个人习惯的做法是:

  • 模拟电源域(AVDD/AVSS):给运放、比较器、ADC、DAC、PLL、带隙基准这些敏感模块供电。
  • 数字电源域(DVDD/DVSS):给数字逻辑、状态机、数字滤波器、接口电路供电。

注意,这里说的「分开」不只是名字不同,而是物理上要隔离。我在一个项目中遇到过这样的情况:设计图上AVDD和DVDD用了不同的PAD,但走线在顶层金属上挨得太近,结果数字噪声通过寄生电容耦合到了模拟电源上。嗯,那次的教训就是——物理隔离要彻底

关键原则:

  • 模拟和数字电源域使用独立的PAD/引脚
  • 在版图上保持至少20μm以上的间距
  • 避免模拟电源线跨越数字模块上方
  • 在芯片级,模拟和数字电源域之间加保护环(Guard Ring)

4.2 电源去耦电容:给电源线装上「蓄水池」

去耦电容,说白了就是给电源线装个小水库。当电路突然需要大电流时,电容先顶上,等电源慢慢补回来。这样就能把电源上的毛刺压下去。

我刚开始做设计时,总觉得去耦电容多放几个总没错。后来发现,放多了不仅浪费面积,还可能引入谐振问题。所以,去耦电容不是越多越好,而是要放对地方

4.2.1 去耦电容的选型

电容类型 典型容值 适用场景 注意事项
MIM电容 0.1pF ~ 10pF 高频去耦(>1GHz) 面积大,但高频特性好
MOM电容 10fF ~ 1pF 中高频去耦 寄生小,适合密集摆放
MOS电容 0.1pF ~ 100pF 低频去耦、全局储能 注意栅氧化层可靠性
深阱电容 1pF ~ 100pF 大容量储能 漏电流较大

我个人习惯的做法是:高频小电容靠近负载,低频大电容放在电源入口。比如在模拟模块内部,我会在每个运放的电源引脚旁边放一个0.5pF的MIM电容;在模块边界,再放一个10pF的MOS电容做全局储能。

实战技巧:

我曾经在一个ADC项目中,发现电源噪声在100MHz附近有个尖峰。查了半天,原来是去耦电容和电源线电感形成了LC谐振。解决办法很简单:并联两个不同容值的电容,把谐振频率错开。嗯,这就是所谓的「多级去耦」。

4.2.2 去耦电容的摆放规则

去耦电容的摆放,我总结了三条铁律:

  1. 越近越好:电容到负载的走线越短越好,最好在50μm以内。每多1μm走线,等效串联电感(ESL)就多一分。
  2. 多孔接地:电容的接地端要用多个通孔接到衬底或地平面。单孔接地,电感太大,高频去耦效果打折扣。
  3. 避开热区:电容不要放在功耗大的模块正上方,温度升高会导致电容值漂移,严重的还会漏电。

我记得有一次,一个实习生把去耦电容放在了一个功率管的正上方。结果芯片一工作,电容温度升了30度,容值直接掉了20%。嗯,从那以后我每次review版图都会特意检查电容的位置。

4.3 IR Drop分析与优化:别让电压「掉链子」

IR Drop,就是电流流过电源线时产生的压降。你想想看,电源线本身有电阻,电流一大,电压就往下掉。如果掉得太多,电路可能就无法正常工作了。

数字电路对IR Drop尤其敏感。我曾经遇到一个案例:一个数字模块在低频时工作正常,但频率一上去就出错。查了半天,发现是电源线上的IR Drop导致局部电压降到了0.9V(设计值是1.2V)。逻辑门速度变慢,时序就崩了。

4.3.1 IR Drop的分析方法

IR Drop分析一般分两步:

  • 静态IR Drop:只考虑平均电流,用欧姆定律算。适合初步评估。
  • 动态IR Drop:考虑瞬态电流变化,用仿真工具算。适合精确分析。

我常用的工具是RedHawk和Voltus。但不管用什么工具,核心都是要建一个准确的电源网络模型。这里有个坑:不要忽略通孔和接触孔的电阻。我曾经见过一个设计,仿真时只算了金属线的电阻,结果流片回来发现通孔处的压降比预期大了3倍。

警告:

IR Drop分析时,一定要考虑最坏情况:最高温度、最大电流、最差工艺角。否则你分析出来的结果就是「看起来很美,用起来很惨」。

4.3.2 IR Drop的优化手段

优化IR Drop,说白了就是降低电源网络的电阻。我常用的方法有:

  1. 加宽电源线:这是最直接的方法。但注意,太宽的线会占用布线资源,要权衡。
  2. 多层电源网络:用多个金属层走电源线,并联降低电阻。我习惯用顶层厚金属走主干,下层细金属做分支。
  3. 增加电源PAD数量:多几个电源引脚,电流分散了,压降自然就小了。
  4. 优化电源网格密度:在电流大的区域,把电源网格加密。比如在数字模块的时钟树附近,我会把电源线间距从10μm缩到5μm。

这里分享一个我自己的经验:先做静态IR Drop分析,找到热点区域,再针对性地优化。不要一上来就全芯片加粗电源线,那样浪费面积,效果还不一定好。

4.3.3 模拟电路的IR Drop特别注意事项

模拟电路对IR Drop更敏感。为什么呢?因为模拟电路的性能往往和电源电压直接相关。比如一个运放的增益,电源电压降0.1V,增益可能掉10dB。

我建议的做法是:

  • 模拟模块的电源线宽度至少是数字模块的2倍
  • 在模拟模块内部,使用星形连接(Star Routing)供电,避免电流串扰
  • 关键模拟模块(如PLL、ADC)的电源要单独从PAD拉线,不要和别的模块共用

避坑指南:

我曾经在一个混合信号芯片中,把模拟和数字的电源线在顶层合并了。结果数字模块的开关噪声直接通过电源线传到了模拟模块,导致ADC的信噪比下降了6dB。从那以后,我坚持模拟和数字电源线在芯片内部完全独立,只在封装基板上做单点连接。

4.4 实战案例:一个混合信号芯片的电源设计

最后,我拿一个实际项目来串一下这些知识点。

那是一个带12位SAR ADC和数字控制逻辑的混合信号芯片。电源设计是这样的:

  • AVDD(3.3V):给ADC的模拟部分、参考电压缓冲器供电。使用独立的PAD,走线宽度20μm。
  • DVDD(1.8V):给数字控制逻辑、SPI接口供电。使用独立的PAD,走线宽度10μm。
  • 去耦电容:在ADC内部,每个比较器旁边放一个0.2pF的MIM电容;在ADC模块边界,放一个5pF的MOS电容。数字部分,在时钟缓冲器附近放0.5pF的MOM电容。
  • IR Drop分析:用Voltus跑动态IR Drop,发现数字模块在SPI通信时有个200mA的尖峰电流,导致局部压降达到120mV。优化方案:把数字电源线从10μm加宽到15μm,并在SPI接口附近增加两个电源PAD。

最终芯片流片回来,测试结果一切正常。嗯,电源设计这块算是稳了。

好了,这一章的内容就到这里。下一章我们聊时钟分配网络——另一个让无数工程师头疼的话题。