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检查流程 版图设计完成 GDS/OASIS文件 加载DRC规则文件 工艺厂提供的规则 运行DRC 自动检查 有错误? 修改版图 修正DRC错误 迭代修改 DRC通过 进入下一阶段 DRC检查是一个迭代过程,直到所有规则都满足为止

你看,DRC其实是个循环过程。画完版图 → 跑DRC → 有错误就改 → 再跑DRC → 直到全部通过。我见过最夸张的一次,一个项目跑了37轮DRC才全部清掉错误。

DRC的常见误区

警告:千万别以为DRC过了就万事大吉。DRC只检查工艺规则,不检查电路功能。我见过一个团队,DRC跑得干干净净,结果流片回来芯片不工作——原来是电路连接错了。DRC不是万能的,但没有DRC是万万不能的。

另外,不同工艺厂的DRC规则写法可能不一样。比如台积电的规则和联电的规则,虽然物理含义相同,但检查脚本的语法可能不同。你换工艺厂时,一定要重新熟悉他们的DRC规则文件。

小结

DRC是版图设计的守门员。宽度、间距、包围、密度这四类规则,你每天都会跟它们打交道。我个人建议:刚开始学版图设计时,先把这四类规则背下来,画图时心里时刻想着它们。等熟练了,这些规则就会变成你的肌肉记忆。

好了,今天就聊到这儿。记住:DRC不是敌人,是你的朋友。它帮你提前发现问题,而不是等流片回来再后悔。

实用技巧:跑DRC时,建议先跑一遍全规则检查,然后按错误类型分类处理。比如先修所有宽度错误,再修间距错误,这样效率最高。我每次都是这么干的,比东一榔头西一棒子快多了。

可可精品资料库