DRC基础回顾:设计规则检查的核心概念
各位好,我是老张。今天咱们聊聊DRC——设计规则检查。说实话,这可能是版图设计里最基础也最容易被忽视的环节。我见过不少新手,一上来就急着画图,结果最后DRC跑出来几百个错误,改得想哭。嗯,咱们今天就把这块儿彻底捋清楚。
什么是设计规则检查?
DRC,说白了就是检查你的版图有没有违反工艺厂定下的规矩。这些规矩不是随便定的,它们直接关系到芯片能不能造出来、造出来能不能用。
我个人习惯把DRC理解成「工艺厂的底线」。比如最小线宽是0.13μm,你画了个0.12μm的线,流片时这根线可能就直接断了。我在项目中遇到过类似的情况——一个同事为了省面积,把金属线画窄了0.01μm,结果DRC报错他没仔细看,流片回来那根线果然开路。
核心要点:DRC不是用来限制你的创造力的,它是用来保证你的设计能顺利生产的。违反规则 = 流片失败 = 烧钱。
常见规则类型详解
工艺厂的DRC规则少则几百条,多则上千条。但归根结底,可以归纳为四大类。我按项目里遇到频率从高到低给你排个序:
1. 宽度规则(Width)
这是最基础的规则。每层版图图形都有最小宽度要求。比如多晶硅栅的最小宽度、金属线的最小宽度。为什么要有这个限制?因为光刻工艺有分辨率极限,太细的线条根本印不出来。
举个例子:
// 某0.18μm工艺的宽度规则示例
POLY_MIN_WIDTH = 0.18μm
METAL1_MIN_WIDTH = 0.23μm
VIA_MIN_SIZE = 0.24μm x 0.24μm
我曾经犯过一个低级错误——把VIA画成了0.22μm x 0.22μm,想着就差0.02μm应该没事。结果DRC报错,工艺厂的人直接打电话过来问:「你这VIA是想让我们用电子束直写吗?」从那以后,我再也不敢在宽度上打折扣。
2. 间距规则(Spacing)
同一层图形之间、不同层图形之间,都有最小间距要求。间距不够会导致短路或者寄生效应严重。
这里有个坑:不同电位之间的间距要求往往比同电位更严格。比如N阱和P阱之间的间距,比两个同类型阱的间距要大得多。
| 规则类型 | 典型值(0.18μm工艺) | 违反后果 |
|---|---|---|
| 同层金属间距 | 0.23μm | 短路风险 |
| 不同层金属间距 | 0.30μm(含介质层) | 寄生电容增大 |
| N阱/P阱间距 | 0.60μm | 闩锁效应风险 |
3. 包围规则(Enclosure)
这个规则说的是:一个图形被另一个图形包围时,需要留出足够的余量。最常见的例子就是VIA被金属包围——金属必须比VIA大一圈。
为什么?因为光刻对准有误差。如果金属刚好和VIA一样大,对准偏了一点,VIA就露出来了。嗯,这里要注意:不同工艺层的包围要求不一样,接触孔(Contact)和通孔(VIA)的要求通常更严格。
我的经验:画标准单元库的时候,包围规则最容易出问题。我建议你在画完每个单元后,先单独跑一遍DRC,别等到全芯片整合完再跑,那时候改起来真要命。
4. 密度规则(Density)
这个规则很多人容易忽略。它要求每层版图图形的面积占比在一定范围内,不能太密也不能太疏。太密会导致化学机械抛光(CMP)时表面不平整,太疏则会导致介质层填充不均匀。
密度规则通常以窗口(Window)为单位检查,比如100μm x 100μm的窗口内,金属密度必须在20%~80%之间。如果密度不够,就需要加dummy填充。
我记得有一次做RF芯片,为了减少寄生电容,我把某层金属的密度降得很低。结果DRC报密度不足,我只好加了一堆dummy金属。加了之后寄生电容确实大了点,但至少芯片能正常流片了——两害相权取其轻嘛。
DRC检查的流程
咱们用一张图来梳理DRC的整体流程:
你看,DRC其实是个循环过程。画完版图 → 跑DRC → 有错误就改 → 再跑DRC → 直到全部通过。我见过最夸张的一次,一个项目跑了37轮DRC才全部清掉错误。
DRC的常见误区
警告:千万别以为DRC过了就万事大吉。DRC只检查工艺规则,不检查电路功能。我见过一个团队,DRC跑得干干净净,结果流片回来芯片不工作——原来是电路连接错了。DRC不是万能的,但没有DRC是万万不能的。
另外,不同工艺厂的DRC规则写法可能不一样。比如台积电的规则和联电的规则,虽然物理含义相同,但检查脚本的语法可能不同。你换工艺厂时,一定要重新熟悉他们的DRC规则文件。
小结
DRC是版图设计的守门员。宽度、间距、包围、密度这四类规则,你每天都会跟它们打交道。我个人建议:刚开始学版图设计时,先把这四类规则背下来,画图时心里时刻想着它们。等熟练了,这些规则就会变成你的肌肉记忆。
好了,今天就聊到这儿。记住:DRC不是敌人,是你的朋友。它帮你提前发现问题,而不是等流片回来再后悔。
实用技巧:跑DRC时,建议先跑一遍全规则检查,然后按错误类型分类处理。比如先修所有宽度错误,再修间距错误,这样效率最高。我每次都是这么干的,比东一榔头西一棒子快多了。
可可精品资料库