4、PDN设计流程:从芯片到封装的协同设计流程,电源域划分,电流需求估算

各位工程师朋友,今天我们来聊聊PDN设计的核心流程。说实话,这个流程我摸索了好几年才真正理清楚。刚开始做封装设计时,我总觉得PDN就是多放几个电容的事。直到有一次,一个高性能计算芯片在实验室里频繁复位,排查了整整两周才发现是PDN设计没和芯片端对齐。从那以后,我彻底明白了——PDN设计必须从芯片到封装协同推进。

4.1 协同设计流程:芯片与封装不能各干各的

传统的设计流程里,芯片团队和封装团队往往是各干各的。芯片设计完了,扔给封装厂,封装厂再根据芯片的引脚位置去画基板。这种做法在低速时代还能凑合,但在先进封装里,行不通。

我个人习惯的做法是:在芯片设计的早期阶段,封装团队就要介入。具体来说,流程分三步走:

  1. 芯片端输出需求:芯片团队给出各功能模块的电流需求、电压精度要求、工作频率范围。这些数据不是拍脑袋定的,而是基于RTL仿真和功耗分析工具跑出来的。
  2. 封装端建立模型:封装团队根据芯片的初步布局,建立封装基板的寄生参数模型。包括走线的电阻、电感,以及层间电容。
  3. 联合仿真迭代:把芯片的电流模型和封装的寄生模型放到一起做时域仿真。看看电压波动是否在允许范围内。如果超标,要么调整封装设计,要么和芯片团队商量放宽要求。

你想想看,如果等到芯片流片回来才发现PDN有问题,那代价就太大了。我在一个项目里就吃过这个亏,芯片回来发现核心电压纹波超标,最后只能降频使用,性能打了八折。

核心原则:芯片和封装的PDN设计,必须在同一个时间轴上迭代。谁也别等谁。

4.2 电源域划分:把复杂的系统拆开看

电源域划分,说白了就是把芯片上不同电压、不同噪声要求的电路区域分开供电。为什么要这么做?因为不同的电路对电源质量的要求天差地别。

举个例子,数字核心电路对电压波动容忍度较高,一般允许±5%的波动。但模拟电路、PLL、SerDes这些敏感电路,可能只允许±1%甚至更严。如果把它们放在同一个电源域里,数字电路开关时产生的噪声会直接干扰模拟电路的工作。

我在划分电源域时,一般遵循这几个原则:

  • 按电压等级分:不同电压的电路必须分开。比如1.0V的核心域和1.8V的IO域,不能共用。
  • 按噪声敏感度分:敏感电路(PLL、ADC、DAC)要单独供电,并且要加足够的去耦电容。
  • 按功耗密度分:高功耗密度的区域(比如CPU核心)需要更宽的供电走线和更多的C4 bump。
  • 按工作模式分:有些模块只在特定模式下工作,可以单独控制电源开关,降低待机功耗。

这里我画了一张电源域划分的示意图,帮你直观理解:

芯片电源域划分示意图 核心电源域 (VDD_CORE) CPU / GPU / 缓存 电压: 1.0V | 电流: 50A 噪声容忍度: ±5% IO电源域 (VDD_IO) DDR / PCIe / 通用IO 电压: 1.8V | 电流: 10A 噪声容忍度: ±3% 模拟电源域 (VDD_ANA) PLL / ADC / SerDes 电压: 1.2V | 电流: 2A 噪声容忍度: ±1% 隔离区 注:不同电源域之间需要物理隔离,避免噪声耦合

小技巧:我建议在芯片布局阶段,就把不同电源域的物理位置尽量分开。如果实在分不开,中间加一条隔离带,用衬底接触或深阱隔离。这个做法在混合信号芯片里特别管用。

4.3 电流需求估算:别拍脑袋,要算清楚

电流需求估算,是PDN设计里最容易出错的环节。我见过太多项目,芯片团队报的电流需求是「大概50A」,封装团队就按50A去设计。结果芯片跑起来实际电流到了70A,电压直接掉到规格以下。

为什么会这样?因为电流需求不是静态的,它跟芯片的工作模式、温度、工艺角都有关系。正确的做法是分场景估算:

工作模式 典型电流 峰值电流 持续时间 说明
待机模式 5A 8A 持续 时钟门控,大部分模块关闭
正常负载 35A 45A 持续 典型应用场景
满载模式 55A 70A 短时(<1ms) 所有核心全速运行
启动冲击 — 90A 极短(<10μs) 上电瞬间,电容充电

你看,不同模式下的电流差异非常大。如果只按典型值设计,峰值来临时PDN就会出问题。我个人习惯的做法是:

  • 先拿功耗分析工具跑一遍:比如用PrimePower或RedHawk,基于RTL代码或门级网表做功耗仿真。这个结果比估算靠谱得多。
  • 再留20%的余量:不管工具算出来是多少,我都会在封装设计时多留20%的电流余量。这不是浪费,而是给未来的芯片迭代留空间。
  • 关注di/dt:电流变化率比电流值更关键。一个模块如果从0A瞬间跳到50A,产生的电压噪声比稳定50A要大得多。所以一定要看瞬态电流波形。

注意:我曾经在一个项目中,芯片团队只给了平均电流,没给峰值电流和di/dt信息。封装设计时我按平均电流选了电容,结果芯片在启动瞬间电压跌了15%,直接触发欠压复位。从那以后,我要求芯片团队必须提供完整的电流波形数据,否则不接这个项目。

4.4 从芯片到封装的电流分配

电流需求估算出来后,下一步就是把它分配到芯片的各个供电引脚和封装的供电网络上。这个过程我一般分三步走:

  1. 芯片端分配:根据芯片内部各模块的功耗分布,确定每个C4 bump需要承载的电流。高功耗区域需要更多的bump,而且bump的间距要更密。
  2. 封装端分配:根据芯片bump的电流需求,设计封装基板上的供电走线。走线的宽度、厚度、层数都要满足电流承载能力。一般铜厚1oz的走线,每毫米宽度可以承载约1A的电流。
  3. 验证闭环:用IR Drop仿真工具跑一遍,看看从封装焊球到芯片内部,电压降是否在允许范围内。如果某个区域的压降超过50mV,就要加宽走线或增加bump数量。

这里我再用一个简单的流程图,展示从芯片到封装的电流分配逻辑:

芯片 Die 总电流需求: 70A C4 bump: 200个 封装基板 供电走线: 6层 总铜厚: 2oz 最大电流密度: 1A/mm PCB 主板 VRM 供电 去耦电容 芯片端: 电流密度高,bump间距小 封装端: 走线宽,层数多,散热好 PCB端: 空间大,电容多

嗯,这里要注意一点:芯片端的电流密度最高,因为C4 bump的间距很小(可能只有100μm)。封装基板上的走线可以做得宽一些,但也要考虑层叠结构。PCB端空间最大,可以放很多去耦电容。所以PDN设计的原则是:芯片端做精细分配,封装端做低阻抗传输,PCB端做能量储备。

总结一下:PDN协同设计流程的核心,就是让芯片和封装在同一个设计空间里对话。电源域划分要按电压、噪声、功耗来拆。电流需求估算要分场景、留余量、看瞬态。从芯片到封装的电流分配,要逐级验证,确保每一级都不成为瓶颈。

好了,这一章的内容就到这里。下一章我们会深入讨论去耦电容网络的设计,包括电容的类型选择、放置位置、以及如何用仿真验证效果。到时候我会分享一些我在实际项目中踩过的坑,希望对你有帮助。

可可精品资料库