4. DRC Rule Deck 解读:文件结构、规则分类与报告阅读

DRC Rule Deck(规则文件)是版图验证的核心依据,它定义了制造工艺对版图几何图形的所有约束。理解 Rule Deck 的结构与规则分类,是高效定位和修复 DRC 错误的前提。本章将系统讲解 Calibre DRC Rule Deck 的文件组织方式、主要规则类型,以及如何阅读 DRC 运行报告。

4.1 Rule Deck 文件结构

一个完整的 Calibre DRC Rule Deck 通常由多个文件组成,采用模块化结构,便于维护和复用。典型的文件结构如下:

文件/目录 说明 典型内容
drc_rule.rule 主规则文件 包含顶层规则调用、层定义、变量声明
include/ 包含文件目录 存放各工艺模块的子规则文件
include/width.rule 宽度规则模块 金属、多晶硅等层的宽度检查
include/spacing.rule 间距规则模块 同层间距、不同层间距检查
include/enclosure.rule 包围规则模块 接触孔/通孔包围检查
include/density.rule 密度规则模块 金属密度、多晶硅密度检查
techfiles/ 技术文件目录 层定义、颜色定义、布尔运算定义
关键点:主规则文件通过 INCLUDE 语句引用子模块,形成层次化结构。修改规则时,只需修改对应的子模块文件,无需改动整个 Rule Deck。

主规则文件的开头部分通常包含以下关键信息:

// 工艺节点与版本声明
TECHNOLOGY  = "28nm_CMOS"
RULE_REVISION = "v2.1_2024Q1"

// 层定义(Layer Definition)
LAYER METAL1  = 1001
LAYER METAL2  = 1002
LAYER VIA1    = 2001
LAYER CONTACT = 3001

// 变量声明(Variable Declaration)
MIN_M1_WIDTH  = 0.070
MIN_M1_SPACE  = 0.070
MIN_V1_ENCL   = 0.020

// 包含子规则文件
INCLUDE "include/width.rule"
INCLUDE "include/spacing.rule"
INCLUDE "include/enclosure.rule"
INCLUDE "include/density.rule"

4.2 主要规则分类

DRC 规则按几何约束类型可分为四大类:宽度、间距、包围和密度。每类规则都有其特定的检查逻辑和修复方向。

4.2.1 宽度规则(Width Rule)

检查版图图形的最小/最大宽度,确保线条、沟道、金属走线满足工艺最小尺寸要求。

  • 典型检查: WIDTH METAL1 < 0.070 → 报错
  • 常见错误: 金属线宽不足、多晶硅栅宽偏小
  • 修复方向: 拉伸图形边缘,增加宽度至规则值以上

4.2.2 间距规则(Spacing Rule)

检查同层或不同层图形之间的最小间距,防止短路或寄生效应。

  • 典型检查: METAL1 SPACE < 0.070 → 报错
  • 常见错误: 金属线间距过小、通孔间距不足
  • 修复方向: 移动图形、增加间距,或调整走线路径

4.2.3 包围规则(Enclosure Rule)

检查通孔/接触孔被上层或下层金属包围的余量,确保连接可靠性。

  • 典型检查: ENCLOSURE VIA1 METAL2 < 0.020 → 报错
  • 常见错误: 通孔超出金属边缘、包围余量不足
  • 修复方向: 扩大金属图形,使通孔完全被包围

4.2.4 密度规则(Density Rule)

检查版图各层的图形密度是否在工艺允许范围内,避免化学机械抛光(CMP)不均匀。

  • 典型检查: DENSITY METAL1 < 0.20 OR > 0.80 → 报错
  • 常见错误: 局部金属密度过高或过低
  • 修复方向: 添加或删除 dummy 图形,调整密度至窗口内
实战提示: 在 Rule Deck 中,规则通常以 RULE_NAME { ... } 的形式定义。例如:M1_WIDTH { @ 最小金属1宽度为0.070um WIDTH METAL1 < 0.070 }。大括号内的内容为检查条件和报错信息。
DRC 规则分类与检查逻辑 DRC Rule Deck 宽度规则 间距规则 包围规则 密度规则 检查:最小/最大线宽 修复:拉伸图形边缘 检查:同层/异层间距 修复:移动/调整走线 检查:通孔包围余量 修复:扩大金属图形 检查:图形密度范围 修复:添加/删除dummy

4.3 如何阅读 Calibre DRC 规则报告

Calibre DRC 运行完成后会生成详细的规则报告(通常为 .drc.report 或 .summary 文件)。正确解读报告是定位错误的第一步。

4.3.1 报告结构

一份标准的 DRC 报告包含以下部分:

  1. 头部信息: 工艺名称、规则版本、运行时间、总错误数
  2. 规则检查结果列表: 按规则名称列出检查结果,包括通过/失败、错误数量
  3. 详细错误描述: 每个错误的坐标、层信息、违反的规则、相关图形
  4. 统计摘要: 按层、按规则分类的错误统计

4.3.2 错误条目解读

每个 DRC 错误条目通常包含以下字段:

字段 示例 含义
规则名 M1_WIDTH 违反的规则名称
坐标 (12.345, 67.890) 错误在版图中的位置(单位:um)
层 METAL1 发生错误的层
测量值 0.055 实际测量到的几何尺寸(单位:um)
规则值 0.070 规则要求的最小/最大值(单位:um)
描述 METAL1 宽度 0.055 小于最小宽度 0.070 错误的具体文字说明
常见误区: 初学者容易只看坐标而忽略规则名和测量值。实际上,规则名决定了修复策略(宽度不足 vs 间距不足),测量值决定了修复幅度(需要增加多少)。务必同时关注这三个字段。

4.3.3 报告阅读实战示例

以下是一段典型的 DRC 报告片段:

================================================================================
CALIBRE DRC REPORT - 28nm CMOS Process
Rule Deck: drc_rule.rule v2.1_2024Q1
Run Date: 2024-08-15 14:32:05
Total Errors: 47
================================================================================

Rule: M1_WIDTH (METAL1 Minimum Width)
  Errors: 12
  [1] Coordinate: (12.345, 67.890)  Layer: METAL1
      Measured: 0.055 um  Required: >= 0.070 um
      Description: METAL1 width 0.055 is less than minimum width 0.070

Rule: M1_SPACE (METAL1 Minimum Space)
  Errors: 23
  [1] Coordinate: (45.678, 12.345)  Layer: METAL1
      Measured: 0.050 um  Required: >= 0.070 um
      Description: METAL1 space 0.050 is less than minimum space 0.070

Rule: V1_ENCL_M2 (VIA1 Enclosure by METAL2)
  Errors: 8
  [1] Coordinate: (78.901, 34.567)  Layer: VIA1, METAL2
      Measured: 0.010 um  Required: >= 0.020 um
      Description: VIA1 enclosure by METAL2 0.010 is less than minimum 0.020

Rule: M1_DENSITY (METAL1 Density)
  Errors: 4
  [1] Coordinate: (90.123, 56.789)  Layer: METAL1
      Measured: 0.15  Required: 0.20 - 0.80
      Description: METAL1 density 0.15 is below minimum density 0.20

================================================================================
Summary by Layer:
  METAL1: 35 errors (12 width + 23 space)
  VIA1:   8 errors (8 enclosure)
  METAL2: 4 errors (4 density)
================================================================================
阅读技巧: 先看 Summary by Layer 了解错误分布,再针对错误最多的规则(如本例中的 M1_SPACE)优先修复。在 Calibre RVE 中,可以按规则名或层对错误进行分组,大幅提升定位效率。

4.4 规则报告与版图工具的联动

Calibre DRC 报告可以直接导入版图编辑工具(如 Virtuoso、ICV、Laker)中,实现错误的高亮显示和交互定位。常见操作流程如下:

  1. 运行 DRC: 在终端或图形界面中执行 DRC 检查,生成 .drc.report 文件
  2. 加载报告: 在版图工具中通过 Calibre > RVE > Load Results 加载报告
  3. 错误浏览: 在 RVE 窗口中按规则、层或坐标浏览错误列表
  4. 高亮定位: 双击错误条目,版图窗口自动缩放到错误位置并高亮显示
  5. 修复验证: 修改版图后,重新运行 DRC 检查,确认错误消除
效率建议: 在 RVE 中可以使用 Filter 功能只显示特定规则或特定层的错误,避免被大量无关错误干扰。对于重复性错误(如整条走线宽度不足),建议使用 Fix All 或脚本批量修复,而非逐个手动修改。