第二章 DRC规则文件解析:规则文件结构、常用规则语句、层次化规则定义、规则文件调试技巧

各位同学,咱们今天聊聊DRC规则文件。说实话,我刚入行那会儿,看到动辄几千行的规则文件,头都大了。但后来我发现,这东西就像一本菜谱——看着厚,其实翻来覆去就那么几招。今天我就把这些门道掰开了讲给你听。

2.1 规则文件的结构骨架

一个标准的DRC规则文件,说白了就是三大部分:头部声明、规则主体、输出控制。我习惯把规则文件想象成一个工厂的流水线——头部是原料仓库,主体是加工车间,输出控制是质检站。

核心结构一览:

  • 头部声明:定义技术参数、层号映射、单位设置
  • 规则主体:具体的几何约束、逻辑运算、条件判断
  • 输出控制:错误标记、报告格式、图形化显示

举个例子,华大九天的规则文件通常长这样:

// 头部:层定义
LAYER M1 10
LAYER M2 11
LAYER VIA 20

// 规则主体:宽度检查
WIDTH M1 0.18

// 输出控制
OUTPUT M1_WIDTH_ERROR "M1宽度小于0.18um"

嗯,这里要注意:层号映射是规则文件的命根子。我曾经接手过一个项目,因为层号写错了一位,整个DRC跑出来全是假错。你想想看,几千个错误标记,一个个去排查,那滋味可不好受。

2.2 常用规则语句详解

规则语句其实就那么几个核心指令,我给大家拆开揉碎了讲。

2.2.1 WIDTH 语句

这是最基础的规则,检查线宽是否达标。语法很简单:

WIDTH layer_name min_width

我在项目中遇到过一个问题:某条电源线宽度要求0.5um,但规则文件里写成了0.05um。结果流片回来,那条线在工艺角下直接熔断了。所以我的建议是——写完WIDTH规则后,手动算一遍最差情况

2.2.2 SPACE 语句

检查间距,分两种情况:同层间距和异层间距。

// 同层间距
SPACE M1 0.2

// 异层间距
SPACE M1 M2 0.3

避坑指南:我曾经在0.18um工艺节点上,把M1到M2的间距写成了0.15um。结果呢?寄生电容暴增,时序全乱了。所以异层间距一定要参考工艺手册的寄生参数表,别想当然。

2.2.3 AREA 语句

检查图形面积,常用于防止天线效应或金属密度问题。

AREA M1 0.5

说白了,这就是防止你画出一根细长的天线。我见过新手把一条M1画成10um长、0.1um宽,面积虽然达标,但天线效应直接炸了。所以AREA要配合WIDTH和SPACE一起用,别单独依赖。

2.2.4 其他常用语句

语句功能示例
ENCLOSURE检查包围关系ENCLOSURE VIA M1 0.1
DENSITY检查金属密度DENSITY M1 0.2 0.8
NOTCH检查凹槽宽度NOTCH M1 0.15

2.3 层次化规则定义

大芯片的规则文件,如果全写在一个层级里,那维护起来简直是噩梦。我建议用层次化结构来组织。

我的分层习惯:

  1. 基础层规则:定义各层的WIDTH、SPACE等基本约束
  2. 组合层规则:通过逻辑运算生成中间层(如AND、OR、NOT)
  3. 顶层规则:引用基础层和组合层,做最终检查

举个例子,检查M1到M2的通孔包围:

// 基础层
LAYER M1 10
LAYER M2 11
LAYER VIA 20

// 组合层:生成M1上的VIA区域
M1_VIA = AND M1 VIA

// 顶层规则:检查包围
ENCLOSURE VIA M1_VIA 0.1

你想想看,如果不用层次化,你得写多少重复代码?我曾经维护过一个5000行的规则文件,里面光M1的WIDTH检查就重复了20次。后来重构为层次化结构,文件缩到800行,维护效率翻了好几倍。

2.4 规则文件调试技巧

调试DRC规则文件,说白了就是找bug。我总结了三个实用技巧:

技巧一:分段注释法

把规则文件分成若干段,逐段注释掉,看哪段出问题。我曾经用这个方法,半小时就定位到一个隐藏的语法错误——少写了一个分号。

技巧二:最小测试用例

画一个极简的版图(比如就两条线、一个通孔),专门用来测试规则。这样跑DRC只要几秒钟,不用等全芯片跑完。

技巧三:日志分析

华大九天的DRC工具会生成详细的日志文件。我习惯先看ERROR和WARNING部分,再看统计摘要。如果发现某个规则报了上千个错,那大概率是规则写错了,而不是版图画错了。

嗯,最后说一句:规则文件调试,耐心比技术更重要。我见过太多人一看到几千个错误就慌了,其实只要按部就班地排查,总能找到根因。

DRC规则文件知识体系 规则文件结构 头部声明 规则主体 输出控制 常用规则语句 WIDTH SPACE AREA ENCLOSURE 层次化规则定义 基础层规则 组合层规则 顶层规则 规则文件调试技巧 分段注释法 最小测试用例 日志分析

好了,这一章的内容就到这里。DRC规则文件解析,说白了就是理解规则的结构、掌握常用语句、学会层次化组织、熟练调试技巧。这四个点吃透了,你就能自己写规则文件了。

专注资料整理