3. 电源网络拓扑检查:检查顶层与模块级的电源网络拓扑结构,确保主电源线与子电源线的连接正确
电源网络拓扑,说白了就是看电怎么从顶层流到每个模块。我见过不少芯片,功能仿真全过,一上电就出问题——查到最后,往往是某条子电源线没接上,或者接错了地方。嗯,这节我们就聊聊怎么把这事做扎实。
3.1 顶层电源网络:骨架要搭对
顶层电源网络是整个芯片的供电骨架。我个人习惯,先看顶层的主电源线(VDD/VSS)怎么走。通常是从焊盘(PAD)进来,经过电源环(Power Ring),再分配到各个模块。
核心检查点:
- 主电源线的宽度是否满足电流需求?我遇到过一条线宽只有10μm,结果IR Drop直接超了20%。
- 电源环的闭合性——有没有断点?曾经有个设计,电源环在角落处没连上,导致那片区域电压偏低。
- 顶层与PAD的连接:每个电源PAD是否都正确接到了对应的电源网络上?别小看这个,我见过把VDD接到VSS上的低级错误。
你想想看,顶层电源就像城市的主干道。主干道堵了,支路再通畅也没用。所以我会先用工具跑一遍顶层电源网络的电阻电容提取,看看有没有异常。
3.2 模块级电源网络:细节决定成败
模块级电源网络,说白了就是每个功能模块内部的供电结构。这里最容易出问题的是电源线的连接层次。
举个例子,一个数字模块可能有M1到M9多层金属。通常高层金属(M7-M9)走粗线,负责长距离供电;低层金属(M1-M4)走细线,负责给标准单元供电。检查时要注意:
- 电源线的层次切换:从高层到低层,via的个数够不够?我曾经因为via放少了,导致局部电流密度超标。
- 电源线的方向:同一层金属的电源线方向要一致,避免交叉短路。嗯,这个在布局阶段就要定好。
- 电源线的间距:VDD和VSS之间的间距,要满足设计规则。太近了容易短路,太远了浪费面积。
我的小技巧:检查模块级电源时,我会先看电源线的“密度”。如果某个区域电源线特别稀疏,那大概率会有IR Drop问题。用工具跑一下电流密度图,一目了然。
3.3 主电源线与子电源线的连接:别让电“迷路”
这是最容易踩坑的地方。顶层的主电源线要连接到各个模块的子电源线,连接点必须正确、可靠。
我记得有一次,一个模块的电源线是从顶层拉下来的,但连接处只用了一个via。结果流片回来,那个模块一跑就重启——电流不够,电压被拉低了。后来查出来,就是那个via的电阻太大。
警告:连接处的via数量,一定要根据电流大小计算。别凭感觉放,要用工具算。我一般会留20%的余量。
检查清单如下:
| 检查项 | 说明 | 常见问题 |
|---|---|---|
| 连接点位置 | 主电源线与子电源线的物理连接点 | 连接点偏离模块中心,导致供电不均 |
| via数量 | 连接处使用的via个数 | via太少,电阻过大 |
| 线宽匹配 | 主电源线与子电源线的宽度是否匹配 | 子线太细,成为瓶颈 |
| 电源域隔离 | 不同电压域之间是否有隔离 | 不同电压域短接,烧芯片 |
3.4 电源网络拓扑结构图
下面这张图,是我自己总结的电源网络拓扑检查流程。每次做PDN检查,我都会按这个走一遍。
这张图从左到右,从上到下,把检查流程串起来了。我个人习惯,每做完一步,就在图上打个勾。这样不容易漏项。
3.5 实战中的避坑指南
最后,分享几个我踩过的坑:
- 电源线命名混乱:我曾经遇到一个设计,顶层叫VDD_CORE,模块里叫VDD_DIG,结果工具没认出来是同一个网络。后来我强制要求所有电源网络命名统一。
- 忽略ESD路径:电源网络还要考虑ESD(静电放电)路径。检查时别忘了看电源线到ESD器件的连接。
- 忘记电源关断(Power Gating):如果芯片有低功耗模式,检查电源开关(Power Switch)的连接是否正确。我见过开关没打开,模块直接没电的。
总结一下:电源网络拓扑检查,说白了就是确保电从PAD进来后,能顺畅地流到每个晶体管。顶层骨架要对,模块细节要细,连接处要牢。做到这三点,PDN检查就稳了。