一、设计规则检查(DRC)基础
各位同学,今天我们来聊聊DRC。说实话,DRC是芯片版图设计里最基础、也最绕不开的一关。我刚开始做版图那会儿,总觉得DRC就是跑个检查、改改错误,没什么技术含量。后来吃过几次亏才明白——DRC没跑干净,流片就是赌博。
1.1 DRC的定义与目的
DRC,全称Design Rule Check,设计规则检查。说白了,就是检查你的版图有没有违反代工厂定下的规矩。
为什么要做这个?你想想看,芯片制造是个物理过程。光刻、刻蚀、沉积,每一步都有物理极限。如果两条金属线靠得太近,光刻时可能连在一起,造成短路。如果通孔太小,刻蚀可能打不透,造成断路。代工厂把这些物理限制总结成一套规则,DRC就是验证你的设计是否满足这些规则。
DRC的核心目的就三个:
- 确保可制造性——你的版图能被造出来,良率还过得去
- 避免物理失效——短路、断路、击穿这些要命的缺陷
- 满足工艺约束——每个工艺节点都有自己的一套规矩
我个人经验:DRC不是跑一次就完事的。我习惯在版图设计过程中就分段跑DRC,而不是等到全部画完再跑。否则,几百个错误堆在一起,改起来真要命。
1.2 常见DRC规则分类
DRC规则种类很多,但归纳起来,主要就这几大类。我按项目里遇到的频率排个序:
| 规则类型 | 检查内容 | 典型例子 |
|---|---|---|
| 宽度规则 | 检查走线、有源区、多晶硅的最小宽度 | M1最小宽度0.1μm |
| 间距规则 | 检查同层或不同层图形之间的最小距离 | M1到M1间距≥0.12μm |
| 包围规则 | 检查一层图形对另一层图形的覆盖量 | 通孔被金属包围≥0.02μm |
| 密度规则 | 检查某层图形的面积占比 | 金属密度30%~70% |
| 面积规则 | 检查图形的最小面积 | 通孔面积≥0.04μm² |
| 天线规则 | 检查长走线在刻蚀时积累的电荷 | 栅极天线比≤1000 |
嗯,这里要特别说一下密度规则。我在一个28nm项目里遇到过,金属密度不达标,CMP(化学机械抛光)时表面不平整,导致后续光刻对焦不准。那一次,我花了整整两天加dummy metal才搞定。所以,密度规则千万别忽视。
1.3 DRC检查工具介绍
市面上主流的DRC工具就那么几个,我挑最常用的说说:
Calibre
Mentor(现在是Siemens EDA)家的王牌产品。说实话,这是业界用得最多的DRC工具,没有之一。我待过的几家公司,清一色用Calibre。它的优势在于:
- 速度快,尤其是多核并行时
- 规则文件(SVRF格式)写起来灵活
- Debug界面好用,能高亮显示错误位置
ICV(IC Validator)
Synopsys家的工具。我有个朋友在Synopsys做AE,他跟我说ICV在先进工艺(7nm以下)上表现不错。我自己用过一次,感觉它的层次化检查做得比Calibre好,但上手门槛高一些。
其他工具
还有Assura(Cadence)、PVS(Mentor)等,但市场份额不大。我个人建议,如果你刚入行,先学Calibre准没错。
避坑指南:我曾经犯过一个低级错误——用Calibre跑DRC时,没注意版本号。结果规则文件是2022版的,工具是2020版的,跑出来的结果全是假错。后来我养成了习惯,每次跑之前先核对工具版本和规则文件版本。
1.4 DRC运行流程
DRC的运行流程,说白了就三步:准备、运行、分析。我画了个流程图,方便大家理解:
具体每一步做什么,我展开说说:
- 准备输入文件——把版图导成GDS或OASIS格式,准备好代工厂给的DRC规则文件。我习惯在规则文件里加一些自定义的开关,方便调试。
- 运行DRC检查——用命令行或图形界面启动工具。这里有个小技巧:先跑一个小的测试结构,确认规则文件没问题,再跑全芯片。否则全芯片跑几个小时,发现规则文件版本错了,那才叫崩溃。
- 分析结果——看报告,定位错误。DRC报告里会列出每个错误的坐标、违反的规则、涉及的层次。我一般先看汇总,了解错误类型分布,再逐个排查。
- 修改版图——回到版图编辑器,根据错误提示修改。改完再跑,直到DRC Clean(零错误)。
注意:DRC Clean不代表你的版图就完美了。它只说明你的版图满足代工厂的规则,但功能是否正确、性能是否达标,那是LVS(版图与电路一致性检查)和PEX(寄生参数提取)的事。别搞混了。
好了,DRC基础就讲这么多。下一节我们聊LVS,那个更刺激——电路和版图对不上,你连流片的资格都没有。
可可精品资料库