4、DRC 基础与规则文件解读
各位同学,咱们今天聊聊DRC。说实话,我刚入行那会儿,觉得DRC就是跑个检查,过了就行。后来吃过亏才明白——DRC规则文件,才是整个版图设计的“法律条文”。你不读懂它,早晚要栽跟头。
4.1 DRC规则文件结构(.drc 或 .rul)
DRC规则文件,说白了就是告诉工具:“什么样的版图是合格的,什么样的不行。”不同厂家的文件后缀不一样——Calibre用.drc,Assura用.rul。但核心结构大同小异。
我习惯把规则文件分成三块来看:
- 头部定义:工艺信息、单位定义、层号映射。比如“1号层是N阱,2号层是多晶硅”。
- 规则主体:各种几何约束。最小宽度、间距、包围……这是最核心的部分。
- 输出控制:报错信息的格式、是否生成图形标记等。
举个例子,一个典型的Calibre DRC规则片段长这样:
// 定义层
POLY = layer 2
ACTIVE = layer 3
CONT = layer 4
// 规则:多晶硅最小宽度 0.18um
POLY.WIDTH = 0.18
// 规则:有源区最小间距 0.28um
ACTIVE.SPACE = 0.28
// 规则:接触孔包围多晶硅 0.1um
CONT.ENC.POLY = 0.1
嗯,这里要注意——不同厂家的写法可能略有差异,但逻辑是一样的。你只要掌握了“层定义 + 规则语句 + 参数”这个套路,换哪个工具都不怕。
4.2 常见规则类型
规则类型其实就那几大类。我按项目中的出现频率,给你排个序:
4.2.1 最小宽度
这个最简单,也最基础。就是“你这根线不能太细”。太细了,光刻做不出来,或者做出来电阻太大。
我在项目中遇到过一件事——有个同事画了一条0.1um的金属线,DRC报错,他还不信,说“就差0.02um有什么关系”。结果流片回来,那根线直接断了。所以啊,最小宽度不是闹着玩的。
4.2.2 最小间距
两根线不能靠太近。靠太近会短路,或者产生寄生效应。这个规则在高压电路里尤其严格。
我曾经调试过一个LDO的版图,间距规则反复报错。后来发现是电源线和信号线挨得太近,产生了耦合噪声。改完间距,问题就解决了。
4.2.3 最小包围
这个规则说的是“一个层要包住另一个层多少”。比如接触孔要包住有源区,或者金属层要包住过孔。
你想想看,如果接触孔只包了有源区0.01um,光刻稍微偏一点,孔就跑到外面去了。那电路就断了。所以包围规则,本质上是在给工艺留余量。
4.2.4 其他常见规则
| 规则类型 | 说明 | 我的经验 |
|---|---|---|
| 最小面积 | 某些层(如有源区)面积不能太小 | 我见过有人画了个0.1um²的N阱,DRC报错,他还不理解为什么 |
| 密度规则 | 金属密度不能太高或太低 | 这个在CMP工艺里特别重要,密度不均会导致表面不平 |
| 天线效应 | 长金属线不能直接连栅极 | 我吃过这个亏,后来养成了加天线二极管的习惯 |
4.3 Calibre 与 Assura 工具简介
市面上主流的DRC工具就两个:Mentor的Calibre和Cadence的Assura。我两个都用过,说说我的感受。
4.3.1 Calibre
Calibre是业界老大。速度快,规则文件写起来也灵活。我个人习惯用Calibre做最终签收(sign-off)检查。因为它的规则库最全,而且支持并行运算,跑大芯片特别快。
Calibre的规则文件是.drc格式,语法有点像C语言。你可以写条件判断、循环、甚至自定义函数。嗯,这个后面实战章节会细讲。
4.3.2 Assura
Assura是Cadence自家的工具,和Virtuoso集成得最好。你可以在版图编辑器里直接点一下就跑DRC,不用切窗口。对于小规模电路,Assura很方便。
但说实话,Assura的规则文件(.rul)写起来比Calibre啰嗦。而且跑大芯片时,速度明显不如Calibre。所以我一般建议:小项目用Assura快速迭代,大项目用Calibre做最终检查。
我的建议:不管用哪个工具,一定要先读懂规则文件。不要只盯着报错信息看。我见过太多人,DRC报错了就盲目改,改完又报错,来回折腾。其实只要花半小时读一下规则文件,很多问题都能提前避免。
小技巧:拿到一个新工艺的DRC规则文件,先搜一下“WIDTH”、“SPACE”、“ENC”这三个关键词。把相关的规则都列出来,心里就有数了。
避坑指南:我曾经犯过一个错误——以为DRC规则文件里写的都是对的。后来发现,有些规则文件里会有“注释掉的规则”,或者“临时放宽的规则”。如果你不注意,可能会漏掉关键检查。所以,拿到规则文件后,先看注释,再看版本号,确认是最新版本。
好了,这一章的内容就这些。DRC规则文件,说白了就是工艺厂和设计师之间的“契约”。你遵守它,芯片就能做出来;你不遵守,流片就是赌博。下一章咱们聊聊LVS,那个更刺激——它检查的是“你画的和你设计的,是不是一回事”。