4. DRC验证(设计规则检查)
DRC验证,说白了就是给封装设计做「体检」。
我刚开始做封装那会儿,总觉得DRC是走个过场。直到有一次,一个0.5mm的间距违规没查出来,流片回来直接短路。嗯,从那以后,我再也不敢小看这一步了。
4.1 DRC规则文件解读
DRC规则文件,就是代工厂给你的「设计红线」。它告诉你:什么能做,什么不能做。
我个人习惯把规则文件分成三类:
- 基础几何规则:线宽、线距、环宽这些
- 密度规则:金属覆盖率、介质层厚度
- 特殊结构规则:BGA焊球、键合指、散热过孔
规则文件长什么样?给你看个例子:
// 基础间距规则
MIN_SPACING M1 0.5um // 第一层金属最小间距0.5um
MIN_SPACING M2 0.8um // 第二层金属最小间距0.8um
// 环宽规则
MIN_RING_WIDTH VDD 10um // 电源环最小宽度10um
MIN_RING_WIDTH GND 10um // 地环最小宽度10um
// 密度规则
MIN_DENSITY M1 30% // 第一层金属最小密度30%
MAX_DENSITY M1 70% // 第一层金属最大密度70%
我在项目中遇到过一件事:有个规则文件里写的是「MIN_SPACING M1 0.5um」,但实际工艺能做到0.35um。你猜怎么着?我直接用了0.35um,结果DRC报了一堆错。后来才知道,规则文件里的值是「保证良率」的值,不是「工艺极限」。
4.2 常见DRC错误类型
DRC报错,翻来覆去就那几类。我总结了四个最常见的:
4.2.1 间距错误
这是最频繁的错误。两条走线离得太近,或者焊盘间距不够。
举个例子:BGA焊盘间距要求0.8mm,你画了0.75mm。DRC直接报错。
为什么会这样?因为间距不够,焊接时容易连锡短路。
4.2.2 宽度错误
走线太细,或者焊盘尺寸不达标。
我记得有一次,一个电源走线我画了8um宽,但规则要求至少10um。DRC报错后我还不服气,觉得8um也能过电流。后来一算,8um的载流能力确实不够,高温下直接熔断。
4.2.3 环宽错误
这个主要针对电源环和地环。环宽不够,电流密度会超标。
我建议新手设计时,电源环宽度至少留20%的余量。别卡着下限画,不然后面改起来很痛苦。
4.2.4 密度错误
金属密度太高或太低都不行。
密度太高,CMP(化学机械抛光)时会出现凹陷。密度太低,介质层填充不均匀。
给你看个密度错误的典型场景:
// 错误示例:某区域金属密度高达85%
// 规则要求:MAX_DENSITY M1 70%
// 解决方案:添加dummy金属,或者挖空部分走线
4.3 DRC运行与结果分析
DRC怎么跑?说白了就是三步:
- 加载规则文件:把代工厂给的.drc文件导入工具
- 选择检查范围:全芯片检查,还是只检查某个模块
- 运行并分析结果:看报告,修错误
我一般用Calibre跑DRC。命令大概长这样:
calibre -drc -rule design_rule.drc -layout chip.gds -output drc_results
跑完之后,会生成一个报告文件。里面会告诉你:
- 总共有多少个错误
- 每个错误的位置(坐标)
- 违反了什么规则
- 建议的修改方案
结果分析这块,我有个习惯:先看「致命错误」,再看「警告」。致命错误不改,流片必死。警告嘛,有些可以忽略,但最好还是改掉。
🔑 核心要点:
- DRC规则文件是代工厂给的「红线」,别碰
- 间距、宽度、环宽、密度,这四类错误最常见
- 跑DRC时,先修致命错误,再处理警告
- 密度问题最好在布局阶段就考虑
我曾经带过一个新人,他跑完DRC看到200多个错误,直接懵了。我告诉他:别慌,先分类。间距错误归一类,宽度错误归一类,环宽错误归一类。然后一类一类地修。结果他半天就搞定了。
嗯,DRC验证就是这样。看起来繁琐,但只要你掌握了套路,其实没那么可怕。