2. DRC 基础概念:设计规则检查的定义、常见规则类型及检查原理

设计规则检查(Design Rule Check,DRC)是集成电路物理验证中最核心、最基础的环节。它通过将版图(Layout)中的几何图形与一组预定义的工艺约束规则进行比对,确保设计能够被指定的晶圆厂(Foundry)成功制造。DRC 是连接“电路设计”与“物理制造”之间的第一道质量关卡。

核心认知: DRC 不检查电路功能是否正确,只检查版图几何是否满足工艺制造的最小物理极限。一个通过 DRC 的版图,意味着在理论上可以被光刻、刻蚀、沉积等工艺步骤制造出来,且不会因物理冲突导致短路、断路或器件失效。

2.1 设计规则检查(DRC)的定义

DRC 是一种基于几何约束的自动化验证方法。其输入是 GDSII/OASIS 格式的版图数据,输出是违反规则的错误标记(Markers)。检查过程通常分为两步:

  1. 规则提取: 从 Foundry 提供的 PDK(Process Design Kit)中读取规则文件(如 Calibre SVRF、ICV RULE 文件)。
  2. 几何运算: 检查工具对版图图层进行布尔运算(AND、OR、NOT)、宽度测量、间距测量、密度计算等,将结果与规则阈值比较。

在 ICV 工具中,DRC 引擎采用“基于边缘(Edge-based)”和“基于区域(Area-based)”的混合算法,能够高效处理全芯片级别的版图数据。

2.2 常见规则类型及检查原理

工艺设计规则通常被划分为四大基础类别:宽度、间距、包围 和 密度。下表总结了每种规则的定义、典型检查对象及违反后果。

规则类型 定义 典型检查对象 违反后果
宽度 (Width) 同一图层上,任意连续多边形的最小/最大宽度。 金属线、多晶硅栅、有源区 金属线断裂、电阻过大、栅极控制失效
间距 (Spacing) 同一图层或不同图层上,两个多边形边缘之间的最小距离。 金属-金属、多晶硅-有源区、N阱- P阱 桥接短路、漏电、闩锁效应
包围 (Enclosure) 一个图层必须完全覆盖或内嵌于另一个图层的边缘延伸量。 接触孔/通孔被金属包围、N阱包围PMOS 接触不良、结漏电、器件失效
密度 (Density) 在指定窗口内,特定图层的面积占比必须在规定范围内。 金属密度、多晶硅密度、有源区密度 CMP 平坦化不均、刻蚀速率偏差、焦点深度变化
工程提示: 在先进工艺(7nm 及以下)中,宽度和间距规则会引入“多图案拆分(MPT)”约束,例如“最小间距 A”和“最小间距 B”分别对应不同光刻掩模版。ICV 支持通过 LAYER MPT_A 和 LAYER MPT_B 声明多图案着色规则。

2.3 检查原理:几何运算与边缘检测

DRC 引擎的核心是几何运算库。以下通过一个简化的“最小宽度检查”示例,说明其底层原理。

宽度检查原理(以金属线为例):

  1. 边缘收缩: 将原始金属层(METAL)向内收缩规则值的一半(例如规则要求最小宽度 0.1μm,则收缩 0.05μm)。
  2. 逻辑与运算: 将收缩后的图形与原始图形进行 AND 运算,得到“核心区域”。
  3. 差异比较: 原始图形减去核心区域,得到“边缘区域”。如果边缘区域存在非零图形,说明该处宽度小于规则值,标记为错误。

对于间距检查,原理类似但方向相反:将图形向外扩张规则值,再与相邻图形进行 AND 运算,若产生重叠则报错。

DRC 宽度与间距检查原理示意图 DRC 宽度与间距检查原理(边缘收缩/扩张法) 宽度检查(Width) 原始 METAL 收缩后 向内收缩 W/2 若收缩后图形消失 → 报错 间距检查(Spacing) M1 M2 间距 S 扩张后 向外扩张 S/2 若扩张后图形重叠 → 报错

2.4 包围与密度检查的工程要点

包围检查(Enclosure) 在通孔(Via)和接触孔(Contact)处尤为关键。例如,金属层对通孔的上包围(Overlap)不足,会导致电流密度集中、电迁移(EM)风险急剧上升。ICV 中通常使用 ENC<layer1> <layer2> 语句定义。

密度检查(Density) 是化学机械抛光(CMP)工艺的刚性需求。如果某区域金属密度过低,CMP 会导致凹陷(Dishing);密度过高则导致磨削不足(Erosion)。ICV 支持滑动窗口(Sliding Window)算法,以固定步长扫描全芯片,计算每个窗口内的密度值。

常见误区: 初学者常将“包围”与“间距”混淆。包围是“一个图层必须被另一个图层覆盖”,强调包含关系;间距是“两个图层之间必须保持距离”,强调隔离关系。在 ICV 规则中,包围检查通常使用 ENC 关键字,间距检查使用 SPACE 关键字。
包围与密度检查概念图 包围检查与密度检查概念 包围检查(Enclosure) 下层金属 VIA ENC ENC 通孔四周必须被金属包围 包围量不足 → 接触电阻增大 密度检查(Density) 滑动窗口 (100μm x 100μm) 密度 = (金属面积 / 窗口面积) × 100% 需满足:Min_Density ≤ Density ≤ Max_Density

2.5 ICV 中的 DRC 规则层级结构

在 ICV 工具中,DRC 规则文件采用层级化组织方式,便于管理和调试。一个典型的规则文件结构如下:

// 1. 图层定义
LAYER METAL1 1001
LAYER VIA1   1002
LAYER METAL2 1003

// 2. 派生层(Derived Layers)
LAYER METAL1_ACTIVE = METAL1 AND NOT DUMMY_METAL1

// 3. 规则组定义
RULEGROUP WIDTH_RULES {
  // 最小宽度检查
  WIDTH METAL1_ACTIVE < 0.1  // 单位:μm
  WIDTH METAL2 < 0.12
}

RULEGROUP SPACING_RULES {
  // 同层间距
  SPACE METAL1_ACTIVE < 0.1
  // 异层间距
  SPACE METAL1_ACTIVE METAL2 < 0.3
}

// 4. 规则执行与报告
DRC CHECK ALL
DRC REPORT SUMMARY
ICV 特有机制: ICV 支持“规则优先级”和“规则豁免”机制。通过 RULE PRIORITY 语句可以指定当多条规则冲突时以哪条为准;通过 EXEMPT 语句可以针对特定单元(如标准单元库中的硬宏)跳过某些规则检查,减少误报。

2.6 本章小结

DRC 是物理验证的基石,其核心在于将抽象的工艺约束转化为可计算的几何规则。宽度、间距、包围、密度四大规则类型覆盖了制造过程中最主要的物理失效模式。理解这些规则的检查原理(边缘收缩/扩张、布尔运算、滑动窗口),是后续定位和修复 DRC 报错的理论基础。在 ICV 环境中,规则文件的结构化组织(图层定义→派生层→规则组→执行报告)为高效调试提供了工程化支撑。