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 安装流程
- 获取安装包:从 Siemens EDA 官网或代工厂 PDK 包中获取 Calibre 安装 tar 包(如
calibre_2023.2_linux_x86_64.tar)。 - 解压安装:将安装包解压到目标目录,例如
/tools/mentor/calibre。 - 设置环境变量:在用户的
.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 从输入到输出的完整数据流:
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 单线程模式,排除多线程带来的随机错误。确认无误后再启用多线程加速。