封装协同视角的版图规则检查方法 - 第2节

一、版图规则基础:设计规则检查(DRC)的基本概念

设计规则检查,简称DRC。说白了,就是给版图定一套规矩。

你想想看,芯片制造是个物理过程。光刻、刻蚀、沉积,每一步都有物理极限。如果两条线离得太近,光刻时可能连在一起,造成短路。如果一条线太细,刻蚀时可能断掉,造成开路。这些都不是软件能容忍的,是物理世界说了算。

我刚开始做版图时,总觉得DRC是找麻烦的。画得好好的,一跑DRC,满屏报错。后来有一次,一个同事的芯片流片回来,功能全对,就是良率上不去。查来查去,就是有几处间距刚好卡在规则边缘。从那以后,我再也不敢轻视DRC了。

DRC的核心目的就三个:

  • 保证制造良率——别让物理缺陷毁了你的芯片
  • 保证电气性能——别让寄生效应搞崩你的电路
  • 保证可靠性——别让芯片用几个月就挂了

DRC不是可选项,是必选项。没有DRC clean的版图,流片就是赌博。

二、常见版图规则类型

规则类型很多,但常用的就那么几类。我按项目中的实际使用频率,给你排个序。

2.1 宽度规则(Width)

宽度规则,就是规定某层图形的最小宽度。比如金属线最小0.18μm,多晶硅最小0.13μm。

为什么要有宽度规则?因为太细的线,刻蚀时容易断。我在一个0.13μm项目中遇到过,某条电源线画得太细,DRC报错我没当回事,想着后边再改。结果后边忘了,流片回来那条线直接熔断。教训深刻。

我的习惯:电源线和地线,宽度至少留20%余量。别卡着最小宽度画,那是给自己挖坑。

2.2 间距规则(Spacing)

间距规则,规定同一层或不同层图形之间的最小距离。比如金属到金属最小0.2μm,多晶硅到有源区最小0.15μm。

间距不够,光刻时可能连在一起。或者虽然没连,但寄生电容太大,影响电路速度。高频电路尤其要注意这个。

我记得有个射频项目,LNA的输入输出走线间距没留够,仿真时没发现问题。流片回来测试,增益比预期低了3dB。一查,就是寄生电容搞的鬼。

2.3 包围规则(Enclosure)

包围规则,规定一层图形必须完全包围另一层图形,且包围的尺寸要够。比如接触孔被金属包围,至少每边多出0.1μm。

这个规则容易被忽略。我见过一个新手,接触孔画得刚好和金属边对齐。DRC没报错,但实际制造时,光刻对准偏差一点点,接触孔就露出来了。结果就是接触电阻变大,电路性能下降。

注意:包围规则通常有方向性。比如N阱包围PMOS,和PMOS包围N阱,要求不一样。别搞混了。

2.4 密度规则(Density)

密度规则,规定某层图形的面积占比。比如金属密度不能低于30%,也不能高于70%。

为什么要有密度规则?因为化学机械抛光(CMP)时,密度不均匀会导致表面不平。密度太低的地方,抛光过度;密度太高的地方,抛光不足。

嗯,这里要注意。密度规则通常有窗口大小和步长。比如在100μm×100μm的窗口内,金属密度要在30%~70%之间。窗口滑动检查,每个位置都要满足。

2.5 其他常见规则

规则类型 说明 典型值(0.18μm工艺)
面积规则 图形最小面积 0.1μm²
孔规则 接触孔/通孔尺寸和间距 0.18μm×0.18μm
天线规则 防止天线效应 比率<1000:1
阱连接规则 阱必须接电位 每50μm一个接触

三、规则文件格式解析

规则文件,就是DRC工具读的配置文件。不同工具格式不同,但核心逻辑差不多。

3.1 常见的规则文件格式

  • Calibre SVRF格式:.svrf或.rule文件,Mentor工具用的
  • Assura/ICV格式:.rul文件,Cadence工具用的
  • PVS格式:.rul文件,Synopsys工具用的
  • DRACULA格式:.drc文件,老工具了,现在用得少

我个人习惯用Calibre。不是因为别的,就是用得顺手。你用什么工具都行,关键是理解规则怎么写。

3.2 规则文件的基本结构

一个典型的规则文件,长这样:

// 层定义
LAYER M1 10
LAYER V1 11
LAYER M2 12

// 规则定义
// 最小宽度
WIDTH M1 0.18
WIDTH M2 0.18

// 最小间距
SPACING M1 0.20
SPACING M2 0.20

// 包围规则
ENC V1 M1 0.10 BY 0.10

// 密度规则
DENSITY M1 30 70 WINDOW 100 STEP 50

你看,结构很清晰。先定义层,再定义规则。每一条规则,就是一行命令。

3.3 规则文件的关键要素

写规则文件时,有几个关键点要注意:

  • 层名和层号:必须和版图工具一致,否则DRC认不出来
  • 单位:通常是微米(μm),也有用纳米的。看清楚,别搞错
  • 规则优先级:多条规则冲突时,以优先级高的为准
  • 排除区域:有些区域不适用某些规则,要写EXCEPTION

避坑指南:我曾经遇到一个项目,规则文件里单位写的是纳米,但版图工具默认用微米。结果所有规则都放大了1000倍,DRC跑出来全是假错。排查了两天才发现。所以,拿到规则文件第一件事,确认单位。

3.4 规则文件的调试技巧

写规则文件,免不了要调试。我的经验是:

  1. 先跑一小块区域,别全芯片跑。全芯片跑一次可能要几个小时,调试效率太低
  2. 用简单图形测试,比如画几条线、几个方块,验证规则是否生效
  3. 看DRC报告,别只看结果。报告里会告诉你哪条规则被触发了,坐标在哪
  4. 用DRC工具的可视化功能,把报错图形高亮显示,一目了然

嗯,说到调试,我想起一个事。有次我写了一条复杂的条件规则,怎么跑都不对。后来发现是括号位置错了。规则文件里,括号和逻辑运算符的优先级,和编程语言一样。写的时候要小心。

四、本章知识体系

下面这张图,把本章的核心内容串起来了。你可以对照着看,哪里不清楚就回去翻。

版图规则基础:DRC知识体系 DRC设计规则检查 基本概念 制造良率保障 电气性能验证 可靠性检查 常见规则类型 宽度规则 间距规则 包围规则 密度规则 面积规则 天线规则 孔规则 阱连接规则 规则文件格式 Calibre SVRF Assura/ICV PVS格式 文件结构解析 核心要点 理解规则本质 → 掌握常见类型 → 学会读规则文件

DRC这东西,说难不难,说简单也不简单。关键是多练、多跑、多总结。我做了十几年版图,每次拿到新工艺,第一件事就是把DRC规则文件从头到尾读一遍。别嫌麻烦,这步省了,后边有的是坑等着你。

可可精品资料库