芯片DRC规则验证与版图违规修复 - 第2节
一、DRC规则文件长什么样?
说实话,我刚入行那会儿,第一次打开DRC规则文件,整个人是懵的。满屏的英文缩写、数字、运算符,看着像天书。但干久了你会发现,这东西其实挺有规律的。
DRC规则文件,说白了就是一份「芯片设计的交通规则」。它告诉EDA工具:什么样的版图是合格的,什么样的会出问题。我习惯把规则文件比作「尺子」——你画出来的每一层图形,都得拿这把尺子量一量。
常见的DRC规则文件格式有Calibre SVRF、Assura、ICV等。不同厂家的语法略有差异,但核心逻辑是一样的。我们以最通用的Calibre格式为例:
// 最小宽度规则示例
WIDTH M1 >= 0.18 // M1金属层宽度不能小于0.18um
// 最小间距规则示例
SPACING M1 <= 0.20 // M1金属层间距不能小于0.20um
// 最小包围规则示例
EXTENT M1 CONT >= 0.10 // M1包围接触孔至少0.10um
// 最小面积规则示例
AREA M1 >= 0.25 // M1金属层图形面积不能小于0.25um²
嗯,这里要注意:规则文件里的数字单位通常是微米(um)或纳米(nm)。不同工艺节点,数值差别很大。比如0.18um工艺和7nm工艺,同样的规则,数值能差两个数量级。
二、四大核心规则详解
1. 最小宽度(Minimum Width)
这个规则最直观。它规定了你画的每一根走线、每一个图形,宽度不能小于某个值。
物理含义是什么?
说白了,就是制造工艺的物理极限。光刻机曝光的时候,太细的线条会「断掉」或者「粘连」。我见过一个案例:有同事把M1画到了0.15um,但工艺要求是0.18um。结果流片回来,那根线直接开路,芯片废了。
关键点:最小宽度不仅适用于金属层,也适用于多晶硅、有源区、注入层等所有层次。不同层次的最小宽度可能不同。
我个人习惯在画版图时,给最小宽度留10%-20%的余量。比如规则要求0.18um,我画0.20um。这样即使工艺有波动,也不容易出问题。
2. 最小间距(Minimum Spacing)
这个规则规定了两条相邻走线之间,或者两个相邻图形之间,距离不能小于某个值。
物理含义是什么?
间距太小,两条线之间会「串扰」或者「短路」。尤其是高频信号,间距不够的话,寄生电容会很大,信号完整性就完蛋了。
我曾经遇到过一个棘手的问题:两条并行的M2走线,间距只差了0.01um。仿真时没问题,但流片回来,高频信号互相干扰,整个模块工作不正常。后来查出来就是间距没给够。
避坑指南:不同电位(比如VDD和VSS)之间的间距要求,通常比同电位的更严格。还有,不同层次之间的间距规则也可能不同,比如M1和M2的间距规则是独立的。
3. 最小包围(Minimum Enclosure)
这个规则稍微复杂一点。它说的是:一个层次要「包住」另一个层次,包边的最小宽度是多少。
物理含义是什么?
举个例子:接触孔(CONT)要打在金属层(M1)上。如果M1只比CONT大一点点,那光刻对准偏差时,CONT就可能跑到M1外面去,导致断路。
我记得刚做项目时,有个同事画了一个M1包CONT的结构,包边只给了0.05um。规则要求是0.10um。我当时提醒他,他说「没事,我觉得够了」。结果流片回来,那批芯片有30%的接触孔失效。从那以后,我再也不敢在包围规则上偷懒。
| 层次关系 | 典型最小包围值 | 说明 |
|---|---|---|
| M1 包围 CONT | 0.10 um | 金属层包接触孔 |
| M2 包围 VIA1 | 0.12 um | 金属2层包通孔1 |
| POLY 包围 CONT | 0.08 um | 多晶硅包接触孔 |
| ACT 包围 CONT | 0.12 um | 有源区包接触孔 |
4. 最小面积(Minimum Area)
这个规则规定:单个图形的面积不能小于某个值。
物理含义是什么?
面积太小,图形在制造过程中可能「消失」——被刻蚀过度或者被CMP磨掉了。尤其是金属层,面积太小会导致电流密度过大,引发电迁移(EM)问题。
你想想看,如果一条走线宽度满足最小宽度,但长度很短,总面积可能还是不够。所以最小面积规则其实是「宽度×长度」的综合约束。
小技巧:如果某个图形面积不够,可以在旁边加一个「虚拟图形」(dummy),把它连起来。但要注意,虚拟图形不能影响电路功能。
三、规则之间的关联性
这四个规则不是孤立的。它们互相影响,互相制约。我画个图帮你理清关系:
从图上你能看出来:最小宽度和最小间距决定了你能画多密的走线;最小包围决定了层次之间的对准可靠性;最小面积则是对前三个规则的综合约束。
四、实际项目中的经验
说了这么多理论,我分享几个实际项目中的经验:
- 先跑DRC再跑LVS:我习惯先解决DRC问题,再跑LVS。因为DRC问题往往会导致LVS误报。
- 不要迷信「刚好满足」:规则要求0.18um,你画0.18um,理论上没问题。但工艺有波动,我建议留余量。
- 关注「密度规则」:除了这四个基本规则,很多工艺还有金属密度要求。这个容易被新手忽略。
- 学会看DRC报告:DRC报告里会告诉你哪条规则违反了、在哪个坐标、涉及哪些层次。学会快速定位问题,能省很多时间。
总结一下:最小宽度、最小间距、最小包围、最小面积,这四个规则是DRC的基石。理解它们的物理含义,比死记硬背数值重要得多。你想想看,如果你知道「为什么要有这个规则」,那你在画版图时自然就会注意。
好了,这一章就到这里。记住:DRC规则不是用来限制你的,而是用来保护你的芯片能正常工作的。尊重规则,你的芯片才能顺利流片回来。