4. 电源网络设计与分析

电源网络(Power Grid,简称PG)是芯片物理实现中最容易被低估、却直接决定芯片能否工作的一环。逻辑综合阶段我们关心的是时序和面积,而到了物理实现阶段,电源网络必须回答三个问题:电流从哪里来、经过什么路径、到达每个标准单元时电压还剩多少。这三个问题分别对应PG网格创建、IR Drop分析和EM(电迁移)检查。本节围绕这三项任务展开,并给出电源规划优化的实际做法。

一、PG网格的物理结构

在Fusion Compiler中,电源网络通常由多层金属构成,从高层的全局电源环(Power Ring)向下逐级连接到标准单元供电轨(Follow Pin)。典型结构自上而下包括:

  • Power Ring:环绕芯片或宏单元外围的粗金属环,通常用高层厚金属(如M8/M9),负责把封装引脚电流引入芯片内部。
  • Power Stripe:纵横贯穿芯片的条状金属,分为垂直条(Vertical Stripe)和水平条(Horizontal Stripe),把Ring的电流均匀铺开。
  • Mesh/Grid:由纵横Stripe交织形成的网格,是PG的主体,决定电流分布的均匀性。
  • Follow Pin / Rail:与标准单元行对齐的细金属轨,直接给单元供电,通常用M0/M1。
  • Via Stack:层间连接结构,把电流从高层逐层压到低层,是IR Drop和EM的高发点。

PG网格的密度、宽度、间距和层分配,直接决定了电阻网络的大小。金属越宽、层越高、网格越密,电阻越小,IR Drop越低,但会占用布线资源、增加面积和制造成本。因此电源规划本质上是一个资源与压降的折中问题。

PG网格层级结构与电流路径 Power Ring (M8/M9) V-Stripe H-Stripe Follow Pin / Rail (M0/M1) Via Via Stack:层间连接,IR/EM高发点 封装电流输入 Ring Stripe Rail

二、PG网格创建的关键参数

在Fusion Compiler中,PG网格通过create_power_plan或create_pg_mesh类命令构建。以某28nm教学示例为例,假设芯片尺寸约2mm×2mm,目标供电电压0.9V,总功耗约1.2W,平均电流约1.33A。我们按以下思路规划:

# 示例:创建电源环与网格(教学参数,非实测)
create_power_ring -nets {VDD VSS} \
  -layer {M8 M9} -width 8 -spacing 4 -offset 5

create_pg_mesh -nets {VDD VSS} \
  -layer {M7 M6} \
  -width 3 -pitch 40 -offset 20

create_pg_strap -nets {VDD VSS} \
  -layer M5 -width 1.5 -pitch 20

connect_pg_net -nets {VDD VSS} -follow_pin

这里几个参数需要重点理解:width决定单根金属的载流能力,pitch决定网格密度,offset决定网格与芯片边缘的距离。宽度越大、间距越小,电阻越低,但会挤占信号布线资源。一般高层金属(M7以上)做粗网格,低层金属(M5以下)做细连接,形成“粗主干+细分支”的层次结构。

三、IR Drop分析

IR Drop是指电流流过电源网络电阻时产生的电压降。芯片内部某点的实际电压为:

V_local = V_source − I × R_path

其中V_source是封装供电电压,I是该点抽取的电流,R_path是从电源源点到该点的等效电阻。IR Drop通常分为两类:

  • 静态IR Drop:由平均电流引起,反映电源网络的直流电阻分布,用report_ir_drop -static分析。
  • 动态IR Drop:由瞬时开关电流引起,与时钟频率、翻转率、去耦电容有关,需要向量或统计功耗模型驱动。

在Fusion Compiler中,IR Drop分析依赖功耗模型和电源网络寄生参数。典型流程是:先由report_power得到各单元的功耗,再通过extract_parasitics提取PG网络的R,最后用analyze_ir_drop求解节点电压。判断标准通常是:静态IR Drop不超过电源电压的3%~5%,动态IR Drop不超过5%~10%。以0.9V为例,静态压降应控制在27~45mV以内。

IR Drop分析前必须确保PG网络已完整连接(check_pg_connectivity无floating节点),否则求解结果会因开路而失真。

四、EM检查

电迁移(Electromigration)是金属原子在高电流密度下被“推走”导致导线断裂或短路的现象。EM检查的核心是电流密度:

J = I / (W × T)

其中W是金属宽度,T是金属厚度。每种工艺的金属层都有允许的最大电流密度J_max,通常以mA/μm或A/cm²给出。Fusion Compiler通过check_em或report_em命令,结合电流和金属几何,计算每段PG的J值并与J_max比较。

EM高风险位置往往集中在:Via Stack(截面积小)、Follow Pin(宽度窄)、宏单元供电入口(电流集中)。优化手段包括加宽金属、增加并联Via、降低局部电流密度。例如某段M5走线宽1.5μm、厚0.3μm,承载电流2mA,则J≈4.4mA/μm²;若工艺J_max为3mA/μm²,就需要把宽度加到2.2μm以上。

五、电源规划优化

电源规划优化不是一次完成的,而是“分析—定位—修改—再分析”的迭代过程。常见优化策略包括:

  • 加宽热点区域金属:针对IR Drop或EM超标的具体坐标,局部加宽Stripe或增加Via。
  • 调整网格间距:在功耗密集区(如CPU核、DSP阵列)加密网格,在低功耗区稀疏化以节省资源。
  • 增加去耦电容:在动态IR Drop严重区域插入Decap,提供瞬时电流缓冲。
  • 优化层分配:把大电流路径尽量放到高层厚金属,降低电阻。
  • 宏单元电源加固:对SRAM、PLL等大电流宏单元单独加粗供电轨。

优化的判断依据是:IR Drop热力图是否收敛到阈值以内、EM报告是否无violation、PG网络是否仍保持可布线性。三者需要同时满足,不能为了压低IR Drop而把布线资源耗尽。

电源网络设计的本质是“用金属资源换电压裕度”。在先进工艺下,电压裕度越来越小,PG规划必须从早期就介入,而不是等到布线完成后再补救。

实际项目中,建议在Place阶段就完成PG网格的初步创建和静态IR Drop评估,在CTS和Route阶段再根据动态功耗更新进行迭代。Fusion Compiler的signoff流程可以把IR Drop、EM和时序分析统一起来,帮助设计者在最终签核前发现电源完整性问题。