第二讲:版图基础概念——图层与工艺层次、设计规则(DRC)概念、版图设计流程概览

各位同学,欢迎来到第二讲。上一讲我们聊了版图设计在整个芯片设计流程中的位置,今天咱们来点实在的——把版图最基础的那些概念掰开揉碎了讲清楚。

说实话,我刚开始学版图那会儿,最头疼的就是那一堆花花绿绿的图层。什么N阱、有源区、多晶硅……看着就像一幅抽象画。但后来我明白了,这些图层背后对应的是实实在在的物理层次,是芯片制造过程中一层一层堆叠上去的。

2.1 图层与工艺层次

版图设计,说白了就是用几何图形去描述芯片的物理结构。每个图层对应一道光刻掩模版,也就是芯片制造过程中的一个工艺步骤。

我给大家整理一下CMOS工艺中最常见的几个核心图层:

图层名称 英文缩写 物理含义 颜色(Virtuoso默认)
N阱 NW PMOS管的衬底区域 黄色
有源区 AA / OD 晶体管沟道和源漏区域 绿色
多晶硅 PO / POLY 栅极材料 红色
P+注入 PIMP / BP PMOS源漏掺杂 浅蓝色
N+注入 NIMP / BN NMOS源漏掺杂 紫色
接触孔 CO / CONT 连接有源区/多晶硅到金属1 黑色方块
金属1 M1 第一层金属互连 蓝色
通孔 VIA 连接金属层之间 灰色方块
金属2 M2 第二层金属互连 紫色

嗯,这里要注意:不同工艺厂家的图层命名和颜色可能不一样。比如台积电和联电的叫法就有差异。我个人习惯是拿到新工艺后,先把所有图层的名字和用途过一遍,免得后面画错了。

小技巧:在Virtuoso中,按L键可以打开图层选择窗口(LSW)。你可以在这里看到当前工艺库中所有可用的图层。我建议你把常用的几个图层记住快捷键,比如Shift+A切到有源区,Shift+P切到多晶硅,效率会高很多。

2.2 图层之间的层次关系

这些图层不是孤立存在的,它们之间有严格的层次关系。我画个简单的NMOS晶体管结构给你看看:

俯视图(版图视角):
+------------------+
|  有源区 (AA)      |
|  +-----------+    |
|  | 多晶硅(PO)|    |  ← 栅极
|  +-----------+    |
|  N+注入覆盖整个AA  |
+------------------+

剖面图(物理视角):
        多晶硅(PO)
           |
    ┌──────┴──────┐
    │  栅氧化层    │
    │              │
    │  N+  │ 沟道  │  N+  │
    │ 源极 │       │ 漏极 │
    │      │       │      │
    └──────┴───────┴──────┘
          P型衬底

为什么会这样?因为NMOS的源漏区域需要N+掺杂,而沟道区域(多晶硅下方)不能掺杂。所以N+注入层必须覆盖整个有源区,但多晶硅本身会阻挡注入——这就是所谓的「自对准工艺」。

我记得刚入行时,有个同事把N+注入画小了,结果源漏区没完全覆盖,流片回来那批芯片全废了。嗯,这种错误犯一次就够你记一辈子。

2.3 设计规则(DRC)概念

设计规则,英文叫Design Rule Check,简称DRC。它是什么?说白了就是工艺厂给你画的一条「红线」——你的版图必须满足这些几何约束,否则造不出来,或者造出来也是坏的。

常见的DRC规则包括:

  • 最小宽度:比如多晶硅最小宽度0.18μm,你画0.17μm就不行
  • 最小间距:比如同一层金属之间至少隔0.2μm
  • 最小包围:比如接触孔必须被金属完全包围,至少超出0.05μm
  • 最小延伸:比如多晶硅超出有源区至少0.1μm

我给大家看一个典型的DRC规则表格(以0.18μm工艺为例):

规则编号 描述 最小值
AA.1 有源区最小宽度 0.18μm
AA.2 有源区间最小间距(同电位) 0.18μm
AA.3 有源区间最小间距(不同电位) 0.28μm
PO.1 多晶硅最小宽度 0.18μm
PO.2 多晶硅最小间距 0.18μm
PO.AA.1 多晶硅超出有源区最小延伸 0.10μm
CO.1 接触孔最小尺寸 0.18μm × 0.18μm
CO.2 接触孔最小间距 0.24μm
M1.1 金属1最小宽度 0.23μm
M1.2 金属1最小间距 0.23μm
避坑指南:我曾经犯过一个错误——为了省面积,把两个不同电位的有源区间距画到了0.2μm,刚好满足同电位规则,但没注意不同电位的要求是0.28μm。结果DRC报错,改版又花了一天。所以看规则时一定要看清楚「同电位」还是「不同电位」,这两个差别很大。

2.4 设计规则检查(DRC)工具

在Virtuoso中,跑DRC通常有两种方式:

  1. Assura / PVS:老一代的DRC工具,现在用得少了
  2. Calibre:Mentor公司的工具,目前业界主流

跑DRC的流程大致是这样的:

1. 打开版图(Layout)
2. 点击菜单:Calibre → Run DRC
3. 选择DRC规则文件(.rul或.rule)
4. 设置输出路径
5. 点击Run
6. 查看结果(RVE界面)

嗯,这里要注意:DRC规则文件是工艺厂提供的,千万别自己改。我见过有人为了「通过」DRC,偷偷把规则文件里的最小值改小了……这种行为极其危险,流片回来芯片大概率不能用。

2.5 版图设计流程概览

好了,前面讲了图层和DRC,现在咱们把整个版图设计流程串起来看看。你想想看,一个完整的版图设计项目,通常走这几步:

  1. 前期准备:拿到工艺文件(PDK),熟悉图层和规则
  2. 电路分析:理解电路原理图,确定关键器件和匹配要求
  3. 布局规划:在芯片上大致摆放各个模块的位置
  4. 器件绘制:画晶体管、电阻、电容等基本器件
  5. 互连布线:用金属层把各个器件连起来
  6. DRC检查:跑设计规则检查,修错
  7. LVS检查:跑版图与电路一致性检查
  8. 后仿真:提取寄生参数,做后仿真验证
  9. Tapeout:生成GDS文件,交付流片

我个人习惯是,在布局规划阶段花的时间最多。因为布局一旦定下来,后面改起来非常痛苦。我记得有一次,为了省时间,布局随便摆了一下就开始布线,结果布到一半发现两个大模块之间的信号线绕了半个芯片……最后只能推倒重来。

核心要点:版图设计不是一蹴而就的,它是一个迭代的过程。先粗后细,先大后小。先保证功能正确,再优化面积和性能。DRC和LVS是两道「安检门」,过不了就不能流片。

2.6 本章小结

这一讲我们讲了三个核心概念:

  • 图层与工艺层次:每个图层对应一道光刻掩模,理解图层的物理含义是画版图的基础
  • 设计规则(DRC):工艺厂给的几何约束,必须严格遵守
  • 版图设计流程:从前期准备到Tapeout的完整路径

下一讲,我们会进入实战环节——在Virtuoso中创建第一个版图,画一个简单的反相器。到时候我会手把手带你操作,包括怎么建库、怎么画器件、怎么跑DRC。准备好了吗?

对了,课后作业:打开你的Virtuoso,找到工艺库中的图层列表,把每个图层的名字和颜色记下来。下次上课我会抽查。