电源网络规划:全局电源网格设计、电源域边界定义与IR Drop评估
各位同学,今天咱们聊聊多电压域版图设计里最基础、也最要命的一环——电源网络规划。说实话,我见过太多项目在后期因为电源没规划好,导致IR Drop超标、时序崩掉,最后不得不推倒重来。那滋味,真不好受。
电源网络规划,说白了就是给芯片里的每个模块“喂电”。你想想看,一个芯片里可能有1.2V的核心区、1.8V的IO区、0.9V的休眠区……每个区域对电压的要求都不一样。怎么把这些电压干干净净地送到每个晶体管?这就是我们今天要啃的硬骨头。
核心要点:电源网络规划做得好,芯片流片成功率至少提高30%。这不是夸张,是我这些年踩坑踩出来的经验。
3.1 全局电源网格(PG)设计
全局电源网格,英文叫Power Grid,简称PG。它就像城市的电网,从变电站(PAD)一路送到每家每户(标准单元)。我个人习惯把PG设计分成三个层级:
- 顶层网格:从PAD到芯片边缘,用最宽的金属层(比如M9、M10),走大电流
- 中层网格:用M5-M8,把电源从边缘拉到各个模块区域
- 底层网格:用M1-M4,直接给标准单元供电
这里有个关键参数——网格间距。间距太大,IR Drop会超标;间距太小,布线资源被浪费,而且天线效应容易出问题。我在一个28nm的项目里就吃过这个亏,当时为了省面积把网格间距拉到了50μm,结果后端IR Drop直接飙到8%,吓得我赶紧改方案。
一般经验值是这样的:
| 工艺节点 | 顶层网格间距 | 底层网格间距 | 金属层选择 |
|---|---|---|---|
| 28nm | 100-150μm | 10-20μm | M9/M10 + M1/M2 |
| 16nm | 80-120μm | 8-15μm | M8/M9 + M1/M2 |
| 7nm | 60-100μm | 5-10μm | M7/M8 + M1/M2 |
我的小技巧:做PG设计时,先用脚本跑一个快速IR Drop评估,看看网格密度够不够。别等到所有单元都放好了才发现问题,那时候改起来成本太高。
3.2 电源域边界定义
多电压域设计里,最头疼的就是电源域边界。不同电压的区域之间,必须用隔离单元(Isolation Cell)和电平转换器(Level Shifter)来衔接。边界定义得好,芯片功耗低、面积小;定义得不好,漏电、时序问题全来了。
我建议按以下步骤来定义电源域边界:
- 先画电压域地图:把芯片上所有模块按工作电压分组,标出每个域的物理范围
- 确定边界类型:是硬边界(用深阱隔离)还是软边界(只用隔离单元)
- 规划电平转换器位置:一般放在信号从低电压域到高电压域的方向上
- 检查边界重叠:确保不同电压域之间没有物理短路风险
举个例子,我曾经做过一个AI加速器芯片,里面有1.2V的计算核心和0.9V的缓存阵列。两个域之间隔了200μm的空白区域,结果发现电平转换器的驱动能力不够,信号从缓存到核心时延迟暴增。后来我把电平转换器分散放在边界上,每个信号单独驱动,问题才解决。
注意:电源域边界上不要走长线!信号跨域时,尽量在边界附近完成转换。我曾经见过一个设计,信号从域A到域B走了500μm,结果IR Drop和耦合噪声搞得信号完全没法看。
3.3 VDD/VSS连接策略
VDD和VSS怎么连?这个问题看似简单,但里面门道很多。我总结了几条原则:
- 同电压域内:VDD和VSS必须形成完整的网格,不能有断头路
- 不同电压域之间:VDD必须物理隔离,VSS可以共用(但要注意地弹效应)
- PAD到网格:用星形连接或网格连接,避免单点供电
具体到华大九天的工具里,我一般这样操作:
// 定义电源域
create_voltage_domain -name VDD_CORE -voltage 1.2
create_voltage_domain -name VDD_IO -voltage 1.8
create_voltage_domain -name VDD_SLEEP -voltage 0.9
// 创建电源网格
create_power_grid -domain VDD_CORE -layer M9 -width 5.0 -spacing 100
create_power_grid -domain VDD_CORE -layer M1 -width 0.5 -spacing 10
// 连接VSS
connect_power_grid -net VSS -layer M9 -width 5.0 -spacing 100
connect_power_grid -net VSS -layer M1 -width 0.5 -spacing 10
这里要注意,VSS的网格密度最好和VDD保持一致。为什么?因为电流回路必须完整。如果VSS网格比VDD稀疏,回流路径就会变长,IR Drop反而更大。
3.4 IR Drop初步评估
IR Drop,说白了就是电源从PAD到晶体管这段路上,因为金属电阻导致的电压损失。你想想看,如果PAD端是1.2V,到了晶体管只有1.1V,那时序还能对吗?
初步评估IR Drop,我一般用静态分析(Static IR Drop)就够了。工具会假设所有单元同时翻转,给出最坏情况下的电压降。虽然有点保守,但作为第一轮筛选足够了。
评估流程是这样的:
- 提取电源网络的寄生参数(电阻、电容)
- 加载功耗信息(从功耗分析工具来)
- 运行静态IR Drop分析
- 检查热点区域(电压降超过5%的地方)
我记得有一次,一个客户的设计在静态IR Drop分析里发现核心区域电压降达到了12%。我一看,原来是网格间距太大,而且VDD和VSS的过孔数量不够。后来加了四倍过孔,又把网格间距从120μm缩到80μm,IR Drop才降到4%以内。
经验阈值:一般来说,IR Drop控制在5%以内是安全的。超过8%就要警惕了,超过10%基本得重做电源网络。
最后,给大家画一张电源网络规划的流程图,方便理解整个设计流程:
这张图把整个流程串起来了。你从定义电压域开始,一步步走到IR Drop评估。如果评估不通过,就回到第二步或者第三步去调整。别想着一步到位,电源网络设计本身就是个迭代优化的过程。
最后说一句:电源网络规划这件事,前期多花一小时,后期能省十小时。我见过太多人急着跑流程,结果在IR Drop上卡了两周。嗯,别学他们。