3. DRC基础:DRC的基本概念、常见DRC规则、DRC的运行流程

各位同学,咱们今天聊聊DRC。说实话,我刚入行那会儿,觉得DRC就是个“找茬”的工具,跑一遍出来一堆错误,烦得很。后来吃过几次亏,才明白——DRC不是来找你麻烦的,它是帮你省钱的。

什么叫省钱?你想想看,一个芯片从设计到流片,光掩模版一套下来几十万甚至上百万。要是因为一个最小间距违规,导致整颗芯片短路,那损失谁来扛?所以,DRC这关,必须过。

3.1 DRC的基本概念

DRC,全称Design Rule Check,设计规则检查。说白了,就是检查你的版图是否符合代工厂给出的工艺规则。

代工厂会给你一份文档,叫Design Rule Manual(DRM),里面密密麻麻写满了各种规则。比如:

  • 这条金属线不能太细,否则刻蚀时会断
  • 两条线不能靠太近,否则会漏电
  • 这个孔不能太小,否则接触电阻会变大

DRC工具就是拿着这份规则,去你的版图里一条一条核对。违规了,就报出来,你改,再跑,直到全绿。

核心要点:DRC不是设计的一部分,它是验证的一部分。它不负责告诉你“怎么画”,只负责告诉你“画错了”。

我个人习惯,在项目初期就会先跑一遍DRC,哪怕版图还没画完。为什么?因为早期发现的问题,改起来成本最低。等所有模块都拼好了再跑,那改一个地方可能牵动全局,心态容易崩。

3.2 常见DRC规则

DRC规则少则几百条,多则上千条。但万变不离其宗,核心就三类:最小宽度、最小间距、最小面积。咱们一个一个说。

3.2.1 最小宽度(Minimum Width)

这条规则规定:版图上任何一条走线、一个图形,它的宽度不能小于某个值。

为什么要有这个限制?我举个例子。你在光刻时,如果线条太细,光刻胶可能显影不充分,或者刻蚀时直接被“吃掉”了。结果就是——断路。

不同层的宽度要求不一样:

工艺层 最小宽度(示例) 说明
有源区(AA) 0.18 µm 太窄会导致晶体管沟道失效
多晶硅(PO) 0.13 µm 太窄会影响栅极控制能力
金属1(M1) 0.20 µm 太窄会导致电迁移失效
通孔(V1) 0.18 µm 太窄会导致接触电阻过大

小技巧:我在项目中遇到过一种情况——DRC报了最小宽度违规,但实际版图看起来宽度是够的。后来发现,是因为45度斜角走线导致的。DRC工具在计算宽度时,是按“最短距离”来算的,斜角处实际宽度会变窄。所以,尽量走45度或90度线,别走任意角度。

3.2.2 最小间距(Minimum Spacing)

这条规则规定:同一层或不同层之间的图形,它们之间的距离不能小于某个值。

间距不够会怎样?轻则漏电,重则短路。我记得有一次,一个同事的版图里两条金属线间距只差了0.01 µm,DRC报了warning,他没当回事。结果流片回来,那两条线之间确实有漏电,芯片功耗超标,整批报废。

从那以后,我对间距规则特别敏感。常见的间距规则包括:

  • 同层间距:比如M1到M1,不能太近
  • 异层间距:比如M1到M2,要考虑层间介质厚度
  • 阱间距:不同电位阱之间,要有足够的隔离距离

3.2.3 最小面积(Minimum Area)

这条规则规定:版图上任何一块独立的图形,它的面积不能小于某个值。

面积太小会有什么问题?嗯,这里要注意——光刻时,小面积的图形容易“消失”。比如一个很小的接触孔,光刻胶可能根本显影不出来,或者刻蚀时被过度刻蚀掉了。

另外,面积太小还会影响电流承载能力。金属线如果太细又太短,虽然宽度可能满足最小宽度,但整体面积太小,电流密度会超标,容易发生电迁移。

避坑指南:我曾经遇到过一个案例——DRC报了最小面积违规,但那个图形明明很大。后来查了半天,发现是因为图形被切成了两块,中间有个极窄的缝隙。DRC认为这是两个独立的图形,每个都不满足最小面积。解决办法很简单:把缝隙填上,或者用dummy填充。

3.3 DRC的运行流程

DRC怎么跑?其实流程不复杂,但每一步都有坑。我给大家画个流程图,方便理解。

DRC运行流程图 1. 准备版图数据 2. 加载DRC规则文件 3. 运行DRC检查 有违规? 是 4. 修改版图 返回步骤3 否 5. DRC通过 ✓

流程看起来简单,但实际跑起来,有几个细节要注意:

  1. 准备版图数据:确保你的版图是GDSII或OASIS格式,并且所有层次都正确。我见过有人把M1画在M2层上,DRC跑出来一堆假错。
  2. 加载DRC规则文件:规则文件通常由代工厂提供,后缀是.drc或.rule。注意版本号,不同工艺版本规则可能不一样。
  3. 运行DRC检查:这一步交给工具。但你可以选择检查范围——是全芯片还是只查某个模块。全芯片跑得慢,但全面;模块级跑得快,适合迭代。
  4. 分析结果:DRC会输出一个报告,列出所有违规的位置、类型、严重程度。我个人习惯先看“致命错误”,再看“警告”。
  5. 修改版图:改完再跑,直到全绿。注意,有时候改了一个地方,会引发新的违规,所以要多跑几轮。

经验之谈:我建议在项目初期就建立一个“DRC检查清单”。每次跑完DRC,把违规类型和数量记录下来。这样你能看到趋势——是间距问题多,还是宽度问题多?针对性地优化设计,效率会高很多。

好了,DRC基础就讲到这里。说白了,DRC就是你和代工厂之间的“契约”。你遵守规则,它保证良率。别想着钻空子,我试过,代价很大。

可可精品资料库