第二章:设计规则基础
各位同学,今天我们来聊聊设计规则。说实话,这可能是整个课程里最“枯燥”但又最要命的部分。我见过太多新手,甚至一些老手,因为不重视设计规则,最后流片回来芯片直接报废。
设计规则是什么?说白了,就是晶圆厂给你画的一条“红线”。你跨过去,芯片就可能出问题。我刚开始做设计时,总觉得这些规则是厂里故意刁难人。直到有一次,我为了省面积,把金属线间距压到了规则允许的极限以下...结果呢?流片回来,那几条线直接短路了。从那以后,我再也不敢挑战规则了。
2.1 设计规则的核心概念
设计规则,本质上是一组几何约束。它告诉你在版图上,什么东西能画,什么东西不能画。为什么要有这些规则?因为制造工艺有物理极限。
你想想看,光刻机在晶圆上成像,就像用喷墨打印机打印极细的线条。墨水会扩散,光也会衍射。如果两条线靠得太近,光刻时就会“糊”在一起。这就是设计规则存在的根本原因。
我个人习惯把设计规则分成三类:
- 最小宽度规则:线不能太细,否则会断
- 最小间距规则:线不能太近,否则会短
- 通孔规则:孔不能太小,否则电阻大甚至不通
嗯,这里要注意:不同工艺节点的规则完全不同。比如7nm和28nm,规则能差好几倍。我建议你拿到新工艺时,先把设计规则手册从头到尾翻一遍,哪怕看不懂也要翻。
2.2 最小宽度规则
最小宽度,就是版图上能画的最细线条。为什么要有这个限制?
我举个例子。你在纸上画一条极细的线,铅笔稍微一抖,线就断了。制造工艺也一样。光刻胶在曝光时,细线条的边缘会变得粗糙。如果线太细,最窄的地方可能直接断开。
在台积电的工艺中,不同层的宽度规则不同:
| 层次 | 最小宽度 (nm) | 典型应用 |
|---|---|---|
| Poly (多晶硅) | 40 | 栅极 |
| Metal 1 (第一层金属) | 60 | 局部互连 |
| Metal 2 (第二层金属) | 70 | 全局互连 |
| Via (通孔) | 50 | 层间连接 |
我曾经遇到过一个案例:某团队为了节省面积,把Poly栅极宽度从40nm缩到了35nm。仿真时一切正常,但流片回来后,芯片良率直接掉了30%。为什么?因为栅极太细,多晶硅在刻蚀时出现了断裂。这就是血的教训。
2.3 最小间距规则
间距规则,说白了就是两条线之间必须留多少空。为什么要有间距?因为光刻时,相邻线条的光会互相干扰。如果间距太小,两条线可能“粘”在一起。
我记得有一次,一个同事为了在狭小空间里布线,把两条金属线的间距压到了规则允许的极限。结果呢?流片回来后,那两条线之间的介质层出现了裂纹,导致漏电。嗯,从那以后,他再也不敢省间距了。
间距规则通常分为两种:
- 同层间距:同一层金属线之间的距离
- 异层间距:不同层金属线之间的垂直距离
同层间距比较好理解。异层间距呢?其实也重要。比如Metal 1和Metal 2之间如果太近,寄生电容会变大,影响信号速度。
这里有个小技巧:在布线时,尽量让同层金属线平行走,不要交叉。交叉会增加寄生电容,而且容易违反间距规则。
2.4 通孔规则
通孔,就是连接不同金属层的“桥梁”。通孔规则主要涉及三个方面:
- 通孔尺寸:孔不能太小,否则电阻大
- 通孔间距:孔之间不能太近,否则会短路
- 通孔覆盖:孔必须被上下层金属完全覆盖
为什么通孔尺寸这么重要?你想想看,通孔是垂直结构,制造时需要在介质层上刻蚀出一个洞,然后填充金属。如果洞太小,金属填充不进去,就会形成空洞。空洞会导致电阻增大,甚至完全断路。
我曾经在项目中遇到过通孔覆盖的问题。当时为了节省面积,我把通孔放在了金属线的边缘。结果DRC报错,说通孔覆盖不足。我一开始还不信,觉得差一点没关系。后来查了工艺文档才知道,通孔边缘如果没被金属覆盖,刻蚀时会把旁边的介质也刻掉,导致漏电。
台积电对通孔的要求很严格:
| 通孔类型 | 最小尺寸 (nm) | 最小间距 (nm) | 覆盖要求 |
|---|---|---|---|
| Via 0 (接触孔) | 50 | 100 | 上下各延伸10nm |
| Via 1 (通孔1) | 60 | 120 | 上下各延伸15nm |
| Via 2 (通孔2) | 70 | 140 | 上下各延伸20nm |
2.5 金属层规则
金属层规则,是设计规则里最复杂的一部分。为什么?因为现代工艺有十几层金属,每层的规则都不一样。
一般来说,低层金属(Metal 1~3)线宽细、间距小,适合局部布线。高层金属(Metal 6以上)线宽粗、间距大,适合电源和时钟布线。为什么这样设计?因为高层金属离衬底远,寄生电容小,适合传输高速信号。
我记得有一次,一个团队把时钟信号放在了Metal 1上。结果呢?时钟信号被衬底噪声干扰,导致整个芯片时序混乱。后来他们改到Metal 6上,问题就解决了。
金属层规则主要包括:
- 最小线宽:每层金属的最小宽度
- 最小间距:同层金属之间的最小距离
- 密度规则:金属覆盖率必须在某个范围内(比如30%~70%)
- 天线规则:长金属线不能直接连到栅极,否则会积累电荷损坏器件
密度规则是个坑。我见过有人为了省面积,把金属覆盖率压到了20%。结果流片回来后,那片区域的介质层因为应力不均出现了裂纹。嗯,从那以后,我每次布完线都会用密度检查工具跑一遍。
2.6 实战中的设计规则检查
好了,理论讲完了。我们来看看实战中怎么用这些规则。
在EDA工具中,设计规则检查(DRC)是自动完成的。你只需要在版图设计完成后,跑一遍DRC。工具会告诉你哪里违反了规则。
但我要提醒你:DRC不是万能的。它只能检查几何规则,不能检查电气性能。比如两条线间距符合规则,但寄生电容太大,DRC是查不出来的。这就需要你结合仿真和经验来判断。
我个人习惯的做法是:
- 先跑一遍DRC,修掉所有几何错误
- 再跑一遍LVS(版图与电路一致性检查),确保版图和电路一致
- 最后做后仿真,验证电气性能
这三步缺一不可。我曾经跳过LVS,结果版图上少画了一条线,流片回来整个模块都不工作。嗯,那次教训让我多花了三个月改版。
最后,我想说:设计规则不是束缚,而是保护。它保护你的芯片能正常制造,保护你的设计能正常工作。尊重规则,就是尊重自己的时间和金钱。
下一章,我们会深入讨论DRC工具的使用技巧。到时候我会分享一些我自己的脚本和自动化方法,帮你提高效率。