4、静态IR Drop分析:静态IR Drop原理,电阻网络模型,电源地短路电流计算,静态分析流程

4.1 静态IR Drop原理——说白了就是电压去哪儿了

静态IR Drop,我习惯叫它“直流压降”。你想想看,电流从焊盘流到晶体管,一路上要经过金属线、过孔、接触孔。这些路径都有电阻。电流一过,电压自然就降了。

公式很简单:V = I × R。但别小看它。我在一个28nm的项目里遇到过,就因为没算清楚这条线上的压降,结果芯片内部的标准单元供电电压比焊盘低了将近80mV。嗯,那批芯片跑不到目标频率,最后只能降频卖。

静态IR Drop有几个特点:

  • 只考虑平均电流——不是瞬态的,是长时间的平均功耗
  • 忽略电感效应——说白了就是不看Ldi/dt那部分
  • 关注电源网络——VDD和VSS两条路径都要算

核心要点:静态IR Drop分析的目标是确保芯片内部每个标准单元的供电电压都在允许范围内。通常要求压降不超过电源电压的5%-10%。

4.2 电阻网络模型——把电源网络拆成电阻拼图

怎么分析?我们得把整个电源网络抽象成一个电阻网络。我刚开始做这行时,觉得这步很玄乎。后来发现,其实就是把每段金属线、每个过孔都当成一个电阻。

模型分三层:

  1. 顶层网格——芯片顶层的电源环和主干线,电阻值较小
  2. 中层网格——各层的电源轨道,电阻值中等
  3. 底层网格——标准单元的电源引脚,电阻值较大

举个例子,一段M1层的电源轨道:

// 电阻计算示例
R = ρ × L / (W × T)

其中:
ρ = 0.022 Ω·μm(铜的电阻率)
L = 100 μm(线段长度)
W = 0.5 μm(线宽)
T = 0.3 μm(金属厚度)

R = 0.022 × 100 / (0.5 × 0.3) = 14.67 Ω

整个芯片的电源网络,就是成千上万个这样的电阻串并联在一起。EDA工具会把它建成一个巨大的稀疏矩阵,然后用迭代法求解每个节点的电压。

我的经验:网格密度很重要。太粗了算不准,太细了跑不动。我一般建议在热点区域加密网格,其他地方用粗网格。这样精度和速度都能兼顾。

4.3 电源地短路电流计算——别小看这个漏电

静态IR Drop里有个容易被忽略的电流源——电源地短路电流。说白了就是晶体管在开关过程中,PMOS和NMOS同时导通的那一瞬间产生的电流。

这个电流有多大?我测过一个45nm的芯片,单个反相器的短路电流大概在10-20μA。听起来不大,但一个芯片上有几千万个门,加起来就恐怖了。

计算方式:

I_short = β × (VDD - Vth)^2 / 2

其中:
β = 晶体管的增益因子
VDD = 电源电压
Vth = 阈值电压

实际分析中,工具会从标准单元库的功耗模型中提取每个单元的短路电流。然后把这些电流加到电阻网络的节点上,形成电流源阵列。

注意:短路电流和负载电流要分开算。负载电流是给下一级门充电用的,短路电流是自身消耗的。两者叠加才是总电流。我曾经见过有人把这两个搞混,结果IR Drop分析偏差了30%。

4.4 静态分析流程——一步步来,别跳步

静态IR Drop分析的流程,我总结成五步。每一步都有坑,我一个个说。

先看整体流程:

静态IR Drop分析流程 步骤1:读取设计数据 步骤2:构建电阻网络 步骤3:加载电流源 步骤4:求解节点电压 步骤5:结果分析与修复 输入:LEF/DEF, SPEF, 功耗数据 提取金属线、过孔 电阻值 从库文件获取 单元短路电流 迭代法求解 稀疏矩阵 检查违规点 加宽金属/加过孔

具体每一步做什么:

步骤 输入 输出 注意事项
1. 读取设计数据 LEF/DEF, SPEF, 功耗文件 电源网络拓扑 确保SPEF精度足够
2. 构建电阻网络 金属层参数、过孔参数 电阻矩阵 注意温度系数
3. 加载电流源 标准单元库功耗模型 节点电流向量 区分静态和动态电流
4. 求解节点电压 电阻矩阵、电流向量 各节点电压值 收敛判据要合理
5. 结果分析与修复 电压分布图 修复方案 优先修复热点区域

关键点:静态IR Drop分析不是一次性的。我通常会在floorplan阶段做一次粗分析,在placement后做一次中等精度的分析,在routing完成后做一次最终分析。每次的精度要求不同,但流程是一样的。

4.5 避坑指南——我踩过的那些雷

做静态IR Drop分析这么多年,我踩过不少坑。挑几个典型的说说:

  • 忽略温度影响——金属电阻随温度升高而增大。我曾经在高温测试时发现IR Drop比常温大了15%,就是因为没考虑温度系数。
  • 过孔电阻被低估——一个过孔的电阻可能只有几毫欧,但一串过孔串联起来就不可忽视了。特别是电源网络里成百上千个过孔,加起来能有好几欧姆。
  • 电流分布不均匀——别以为所有单元都在同时工作。实际上,芯片不同区域的功耗密度差异很大。我建议用功耗图来指导电流源的分布。

我的习惯:每次跑完静态IR Drop分析,我都会生成一张电压分布热力图。红色区域就是压降大的地方。然后我会在这些区域加宽电源轨道,或者增加电源过孔。简单粗暴,但有效。

嗯,静态IR Drop分析就讲到这里。记住,它只是电源完整性分析的一部分。动态IR Drop和电迁移分析同样重要,但那是后面章节的内容了。


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