1. DRC基础回顾:设计规则检查

设计规则检查(Design Rule Check,DRC)是芯片物理验证中最基础、最核心的环节。它通过将版图(Layout)与一组预定义的几何约束进行比对,确保制造出的芯片在物理上可生产、电气上可靠。在复杂层次结构(Hierarchical Design)中,DRC 的规则体系与检查策略会直接影响修复效率与签核质量。

1.1 DRC的定义与目的

定义:DRC 是一种基于几何规则的自动化验证方法,用于检查版图中各层图形之间的宽度、间距、包围、密度等参数是否满足晶圆厂(Foundry)提供的工艺设计套件(PDK)所规定的阈值。

核心目的:

  • 可制造性保障:避免因图形过窄、过近或密度不均导致光刻、刻蚀、CMP 等工艺步骤失效。
  • 电气可靠性保障:防止短路、断路、天线效应、电迁移等物理失效风险。
  • 设计-工艺协同优化:在流片前发现并修复违反工艺窗口的版图结构,降低良率损失。
关键认知:DRC 是“零容忍”检查——任何一条 DRC 违例(Violation)都必须被修复或签署 Waiver,否则芯片无法进入 Tapeout 阶段。

1.2 DRC在芯片设计流程中的位置

DRC 贯穿从物理实现到签核的多个阶段,但最密集的执行窗口在 后端物理验证 环节。下表展示了 DRC 在典型数字芯片设计流程中的位置与作用:

设计阶段 主要任务 DRC参与方式
逻辑综合 RTL → 门级网表 不涉及版图,无DRC
布局规划 芯片面积、IO、宏单元摆放 早期版图密度评估(预DRC)
单元放置 标准单元、IP 实例化 局部间距/宽度检查
时钟树综合 时钟缓冲器插入与布线 时钟网络特殊规则检查
详细布线 信号线、电源线、通孔 全芯片DRC运行
物理验证签核 DRC + LVS + ANT + ERC 最终DRC签核
OPC/光刻验证 光学邻近效应修正 光刻友好性DRC(LFD)
实战提示:在先进工艺(7nm 及以下)中,DRC 规则数量可达数千条,且大量规则具有“层次依赖”属性——即同一几何参数在不同层次组合下阈值不同。这是复杂层次结构错误的主要来源。

1.3 常见DRC规则分类

DRC 规则按几何约束类型可分为四大类。每一类在层次化设计中都有其独特的检查逻辑与修复难点。

1.3.1 宽度规则(Width Rule)

规定单层图形的最小/最大宽度。违反宽度规则会导致金属线断裂、通孔接触不良或栅极多晶硅电阻异常。

  • 最小宽度:如 M1 ≥ 0.08μm(7nm 工艺典型值)
  • 最大宽度:如顶层金属 ≥ 10μm 时需添加应力释放槽(Slot)
  • 层次化影响:顶层模块内部的窄线可能被底层模块的宽线遮挡,导致检查遗漏

1.3.2 间距规则(Spacing Rule)

规定同层或不同层图形之间的最小距离。间距违例是短路、串扰和光刻桥接的直接原因。

  • 同层间距:如 M1 到 M1 ≥ 0.08μm
  • 异层间距:如 M1 到 M2 的垂直投影间距 ≥ 0.12μm
  • 特殊间距:阱/衬底接触间距、天线规则间距等

1.3.3 包围规则(Enclosure Rule)

规定一层图形必须被另一层图形完全覆盖或超出一定距离。包围不足会导致通孔电阻增大、金属与有源区接触不良。

  • 通孔包围:VIA0 被 M1 包围 ≥ 0.02μm(每边)
  • 有源区包围:有源区被多晶硅栅包围 ≥ 0.04μm
  • 层次化陷阱:顶层通孔可能落在底层模块边界,包围检查需跨层次合并

1.3.4 密度规则(Density Rule)

规定单位面积内某层图形的面积占比必须在指定范围内。密度不均会导致 CMP 平坦化失效、刻蚀速率偏差。

  • 最小密度:如 M1 密度 ≥ 20%
  • 最大密度:如 M1 密度 ≤ 70%
  • 梯度密度:相邻窗口密度差 ≤ 10%
  • 层次化挑战:顶层空白区域可能因底层模块密度过高而整体超标
常见误区:初学者常将 DRC 视为“一次性全芯片运行”。在复杂层次结构中,正确的做法是分模块、分层次、分规则类型逐步调试,否则单次运行产生的违例数量可能超过百万,完全无法定位根因。

1.4 DRC规则层次化检查机制

在层次化设计中,DRC 引擎通常采用 Top-Down 合并 + Bottom-Up 增量 的策略。下图展示了 DRC 在层次化版图中的检查流程:

层次化DRC检查机制 顶层芯片 (Top) 模块 A (Block A) 模块 B (Block B) 模块 C (Block C) 标准单元库 硬宏 (Hard IP) 自定义单元 IO Pad DRC层次化检查流程 ① 底层单元先独立通过DRC(标准单元库通常已签核) ② 中间模块在实例化底层单元后,运行模块级DRC ③ 顶层合并所有模块,运行全芯片DRC,重点检查跨模块边界违例

1.5 DRC规则文件结构

在 EDA 工具中,DRC 规则通常以 规则文件(Rule Deck) 的形式提供。以业界标准格式 Calibre SVRF 为例,一条典型的宽度规则定义如下:

// 规则名称:M1最小宽度检查
// 规则描述:检查M1层所有图形宽度是否 ≥ 0.08μm
// 违例标记:在宽度不足的图形上生成M1_MIN_WIDTH标记层

M1_MIN_WIDTH {
  @ M1 minimum width must be >= 0.08um
  WIDTH M1 < 0.08
  {
    @ M1 width violation
    COPY M1
  }
}

层次化 DRC 规则文件还会包含 层次操作语句,用于控制检查范围:

  • EXCLUDE CELL:跳过指定子模块的检查(如已签核的 IP)
  • CHECK MAP:将顶层图形映射到底层层次进行合并检查
  • HIERARCHICAL OFF:强制展平(Flatten)特定区域以捕获跨层次违例
进阶要点:在复杂层次结构中,层次边界违例(Hierarchical Boundary Violation)是最难调试的一类错误。例如,模块 A 的金属线恰好停在模块边界,而模块 B 的金属线也停在同一边界,两者在顶层合并后间距不足。这类错误在单模块 DRC 中完全不可见,必须通过顶层合并检查才能暴露。

1.6 DRC与LVS/ANT/ERC的关系

DRC 是物理验证的第一步,但不是唯一一步。下表对比了 DRC 与其他物理验证检查的定位差异:

检查类型 检查对象 典型违例 与DRC的关系
DRC 几何图形 宽度/间距/包围/密度 基础物理约束
LVS 电路连接 短路/断路/器件失配 DRC通过后执行
ANT 天线效应 长金属线收集电荷损伤栅氧 依赖DRC几何数据
ERC 电气规则 浮动节点/电源域交叉 需LVS结果辅助