2. Calibre DRC 运行环境搭建:Calibre 安装与配置、DRC rule deck 文件结构、运行 DRC 的基本命令

在开始 DRC 验证之前,必须正确搭建 Calibre 运行环境。本章将系统讲解 Calibre 的安装与配置要点、DRC rule deck 的文件结构,以及运行 DRC 的基本命令。掌握这些基础操作,是后续进行错误分类与调试的前提。

2.1 Calibre 安装与配置

Calibre 是 Mentor Graphics(现 Siemens EDA)推出的物理验证工具,通常与 IC 设计流程中的 PDK 绑定发布。安装与配置主要涉及以下步骤:

安装前提:Calibre 需要 64 位 Linux 操作系统(RHEL/CentOS 7+ 或 Ubuntu 18.04+),至少 16 GB 内存,以及足够的磁盘空间存放工艺文件与中间结果。

2.1.1 安装流程

  1. 获取安装包:从 Siemens EDA 官网或代工厂 PDK 包中获取 Calibre 安装 tar 包(如 calibre_2023.2_linux_x86_64.tar)。
  2. 解压安装:将安装包解压到目标目录,例如 /tools/mentor/calibre。
  3. 设置环境变量:在用户的 .bashrc 或 .cshrc 中配置以下关键变量:
# Bash 示例
export CALIBRE_HOME=/tools/mentor/calibre
export PATH=$CALIBRE_HOME/bin:$PATH
export CALIBRE_LICENSE_FILE=27000@license_server   # 指向 license 服务器
export MGC_HOME=$CALIBRE_HOME
export MGLS_LICENSE_FILE=$CALIBRE_LICENSE_FILE

2.1.2 配置验证

执行以下命令确认安装成功:

calibre -gui        # 启动图形界面
calibre -drc        # 启动 DRC 命令行模式
calibre -version    # 查看版本号
提示:如果使用代工厂 PDK,通常 PDK 中已包含 Calibre 运行脚本和 rule deck,只需正确设置 CALIBRE_HOME 和 license 即可。

2.2 DRC Rule Deck 文件结构

DRC rule deck 是 Calibre 执行 DRC 检查的核心文件,通常由代工厂提供,后缀名为 .rul、.drc 或 .cal。理解其结构有助于定位错误和自定义检查。

2.2.1 标准文件结构

一个典型的 DRC rule deck 包含以下部分:

章节 内容 示例
头部注释 工艺名称、版本、日期、版权信息 // TSMC 28nm DRC Rule Deck v1.0
变量定义 定义工艺参数、层号、阈值等 M1 = 1、MIN_WIDTH_M1 = 0.07
层定义 将 GDS 层号映射为逻辑层名 LAYER M1 1
派生层 通过布尔运算生成中间层 M1_ACTIVE = M1 AND ACTIVE
检查规则 核心 DRC 检查语句 WIDTH M1 < MIN_WIDTH_M1
输出控制 定义错误报告格式、输出文件 DRC RESULTS DATABASE "drc.db"

2.2.2 核心语法示例

以下是一个简化的 rule deck 片段,展示宽度检查的实现:

// 变量定义
MIN_WIDTH_M1 = 0.07

// 层定义
LAYER M1 1
LAYER VIA1 2
LAYER M2 3

// 派生层
M1_POLYGON = M1

// 检查规则:M1 最小宽度
WIDTH M1_POLYGON < MIN_WIDTH_M1 {
  @ M1 最小宽度违例 (M1_MIN_WIDTH)
  M1_WIDTH_ERROR = M1_POLYGON
}

// 输出
DRC RESULTS DATABASE "drc_results.db"
DRC SUMMARY REPORT "drc_summary.rpt"
注意:Rule deck 中的单位通常为微米(um),但部分工艺使用纳米(nm)。检查前务必确认单位一致性,否则会导致误报或漏报。

2.3 运行 DRC 的基本命令

Calibre DRC 支持命令行和图形界面两种运行方式。在实际项目中,命令行方式更常用,便于集成到自动化流程中。

2.3.1 命令行运行

基本命令格式如下:

calibre -drc -hier -turbo 4 rule_deck_file.rul \
        -gds design.gds \
        -top_cell TOP_CELL_NAME \
        -o drc_results.db

参数说明:

参数 含义 推荐值
-drc 启动 DRC 模式 必选
-hier 层次化检查(加速运行) 推荐
-turbo N 多线程并行(N 为 CPU 核数) 4~16
-gds 输入 GDS 文件路径 必选
-top_cell 顶层 cell 名称 必选
-o 输出结果数据库文件 可选

2.3.2 图形界面运行

对于调试和小规模检查,可以使用图形界面:

calibre -gui

在 GUI 中依次设置:Inputs → 选择 GDS 文件 → Rules → 加载 rule deck → Run DRC → 查看结果。

2.3.3 运行流程示意图

下图展示了 Calibre DRC 从输入到输出的完整数据流:

Calibre DRC 运行流程 GDS 版图文件 design.gds DRC Rule Deck drc_rule.rul Calibre DRC 引擎 -hier -turbo 4 层次化+多线程 DRC 结果数据库 drc_results.db DRC 摘要报告 drc_summary.rpt 说明: Calibre DRC 读取 GDS 和 Rule Deck,通过层次化+多线程加速检查,输出数据库和摘要报告

2.4 常见问题与避坑指南

关键检查清单:
  • License 检查:运行 lmstat -a 确认 license 可用,否则 Calibre 会报 License Error。
  • Rule Deck 版本匹配:确保 rule deck 与工艺版本一致,不同工艺版本(如 1.0 vs 2.0)的规则可能不同。
  • GDS 单位:GDS 文件默认单位是 1 nm 或 1 um,需与 rule deck 中的单位对齐。
  • 内存设置:对于大规模设计,建议设置 CALIBRE_DRC_MEMORY_LIMIT=8000(单位 MB)。
调试技巧:首次运行 DRC 时,建议先使用 -turbo 1 单线程模式,排除多线程带来的随机错误。确认无误后再启用多线程加速。