4、流片前检查清单:密度检查与金属填充策略
各位工程师朋友,今天咱们聊聊流片前一个特别容易被忽视、但一旦出问题就非常头疼的环节——密度检查与金属填充。
说实话,我见过不少团队,设计功能都跑通了,时序也收敛了,结果在密度检查这一步卡住,不得不临时加填充,搞得 tapeout 时间一拖再拖。嗯,我自己就吃过这个亏,所以今天把这部分经验掰开揉碎了讲给你听。
4.1 为什么密度检查这么重要?
密度检查,说白了就是看你的芯片上金属走线分布得均不均匀。你想想看,芯片制造过程中,化学机械抛光(CMP)会把晶圆表面磨平。如果某一块金属特别密,另一块特别稀疏,那抛光的时候就会出现凹陷或者凸起,严重的直接导致短路或断路。
我记得有一次,一个客户的设计在 28nm 节点流片,功能仿真全过了,结果回来发现某块区域电阻异常。查到最后,就是金属密度不均匀导致的 CMP 凹陷。从那以后,我每次 tapeout 前都会把密度检查放在第一优先级。
核心原则:金属密度必须满足代工厂给出的上下限范围,通常要求在 20% ~ 80% 之间,具体数值看工艺节点。
4.2 密度检查的常见规则
不同代工厂的规则略有差异,但大体上包括这几项:
| 检查项 | 典型要求 | 说明 |
|---|---|---|
| 全局密度 | 20% ~ 80% | 整颗芯片的平均金属密度 |
| 局部密度 | 15% ~ 85% | 每 50μm × 50μm 窗口内的密度 |
| 密度梯度 | 变化率 ≤ 10% | 相邻窗口之间的密度变化不能太剧烈 |
| 最小线宽/间距 | 按工艺规则 | 填充图形也要满足 DRC 规则 |
这里我特别想强调一下密度梯度。很多新手只盯着全局密度,忽略了局部突变。我曾经遇到一个案例,全局密度 45%,看起来完美,但某个模块内部密度高达 90%,旁边就是大片空白区域。结果呢?CMP 之后那个高密度区边缘出现了明显的台阶,直接影响了相邻金属层的对准精度。
4.3 金属填充策略:什么时候加?加什么?
金属填充,就是在稀疏区域插入一些 dummy 金属图形,让密度变得均匀。但填充不是随便乱加的,得讲究策略。
4.3.1 填充的时机
我个人习惯分两步走:
- 布局布线阶段:先做一次粗略的密度评估,如果发现某些区域明显偏稀,就在布线时预留填充空间。
- 流片前最终检查:用代工厂提供的密度检查工具跑一遍,根据报告自动或手动补填。
你可能会问,能不能全部交给工具自动做?我的建议是:可以,但一定要人工复核。工具自动填充有时会在敏感信号旁边插入 dummy,引入不必要的耦合电容。我就在一个高速 SerDes 项目上吃过这个亏,工具在差分线旁边填了一堆金属,结果串扰超标,最后手动删掉重填才解决。
4.3.2 填充图形的选择
常见的填充图形有这几种:
- 方块填充:最简单,但容易造成局部密度突变,适合大面积空白区域。
- 条状填充:方向与信号线平行,对信号完整性影响较小,我比较推荐。
- 网格填充:密度均匀性好,但会引入额外的寄生电容,高频电路慎用。
- 浮空填充:不与任何电源或地连接,适合对噪声不敏感的区域。
小技巧:对于模拟或射频电路,建议使用浮空条状填充,并且保持与信号线至少 3 倍间距。这样既能满足密度要求,又不会明显影响电路性能。
4.4 密度检查的实操流程
下面我画了一张流程图,帮你理清整个密度检查与填充的步骤:
这个流程看起来简单,但每一步都有坑。我重点说说第 3 步——分析报告。
密度检查工具通常会生成一个热力图,红色区域表示密度过高,蓝色区域表示密度过低。我的习惯是:先看红色区域,再看蓝色区域。为什么?因为红色区域往往意味着你的设计本身就有问题——可能是走线太密,或者模块布局太挤。这时候加填充解决不了根本问题,得先优化布局。
警告:千万不要为了通过密度检查而盲目添加大量填充。填充过多会增加芯片面积,提高成本,还可能引入额外的寄生效应。我曾经见过一个团队,为了把密度从 18% 拉到 20%,塞了整整一层 dummy,结果芯片面积大了 5%,成本直接飙升。
4.5 不同工艺节点的注意事项
不同工艺节点对密度的要求差别很大,我简单列一下:
- 180nm 及以上:密度要求相对宽松,全局密度 30% ~ 70% 基本没问题,填充图形可以大一些。
- 130nm ~ 65nm:开始严格,局部密度梯度要特别注意,填充图形尺寸建议控制在 1μm ~ 5μm。
- 40nm 及以下:密度规则非常苛刻,而且多层金属之间还有耦合要求。我建议在布局阶段就引入密度评估,不要等到最后。
我记得在 28nm 节点做过一个项目,代工厂要求每层金属的局部密度必须在 20% ~ 80% 之间,而且相邻两层的密度差不能超过 30%。当时我们有一层金属密度只有 15%,另一层却高达 75%。最后不得不重新调整了部分模块的布局,才把密度差降下来。
4.6 避坑指南
最后,我把自己这些年踩过的坑总结一下,希望能帮你少走弯路:
避坑指南:
- 不要等到最后才做密度检查。我建议在布局布线中期就做一次预检查,发现问题及时调整。
- 填充图形要避开敏感信号。尤其是时钟、复位、模拟信号,保持至少 2 倍间距。
- 填充后一定要重新跑 DRC 和 LVS。填充图形可能会引入新的 DRC 违例,或者意外连接到电源地。
- 多层金属的密度要统筹考虑。不要只盯着某一层,上下层之间的密度梯度同样重要。
- 保留填充前后的版本。万一流片回来有问题,可以对比分析是不是填充导致的。
嗯,关于密度检查和金属填充,今天就聊这么多。这部分内容虽然看起来琐碎,但确实是流片前最后一道重要关卡。希望你能把这些经验用在自己的项目里,顺利 tapeout!
公众号:蓝海资料掘金营,微信deep3321