2. Calibre DRC 工具概述
Calibre 是西门子 EDA(Siemens EDA)旗下业界标准的物理验证工具套件,广泛应用于先进工艺节点的版图物理验证。本章聚焦 Calibre DRC 工具的核心组成、运行环境及操作界面,为后续的报错定位与调试打下基础。
2.1 Calibre 工具套件介绍
Calibre 工具套件覆盖了从设计到制造的完整物理验证流程,其核心组件如下表所示:
| 工具组件 | 功能定位 | 输入/输出 |
|---|---|---|
| Calibre DRC | 设计规则检查,验证版图是否符合工艺厂规则 | GDS/OASIS → DRC 结果数据库 |
| Calibre LVS | 版图与电路图一致性检查 | GDS + 网表 → LVS 报告 |
| Calibre PEX | 寄生参数提取,用于后仿分析 | GDS + 网表 → SPEF/DSPF |
| Calibre RVE | 结果查看环境,集成 DRC/LVS 结果浏览 | DRC/LVS 数据库 → 图形化界面 |
| Calibre nmDRC | 支持层次化、多线程、分布式处理的 DRC 引擎 | 层次化 GDS → 分层 DRC 结果 |
调试要点: 在版图调试中,Calibre DRC 与 Calibre RVE 是最常配合使用的两个工具。DRC 负责规则检查,RVE 负责结果可视化与错误定位。
2.2 DRC 运行环境
Calibre DRC 支持两种运行模式:命令行模式(Batch Mode)和 图形界面模式(GUI Mode)。两种模式共享同一套规则文件(.rul)和运行脚本,但交互方式不同。
2.2.1 命令行模式
命令行模式适用于自动化流程、服务器集群或远程终端环境。典型调用方式如下:
# 单机运行
calibre -drc -hier -turbo 4 rule_file.rul
# 分布式运行(LSF 集群)
calibre -drc -hier -turbo 8 -distribute -host {host_list} rule_file.rul
关键参数说明:
- -drc:指定运行 DRC 检查。
- -hier:启用层次化处理模式,提升大版图运行效率。
- -turbo N:设置并行线程数,N 通常为 CPU 核心数。
- -distribute:启用分布式计算,需配合 LSF/Grid Engine 使用。
2.2.2 图形界面模式
图形界面模式通过 calibre -gui 启动,提供交互式规则加载、版图输入、运行监控和结果查看功能。界面布局如下:
启动命令:
calibre -gui -drc 或直接在 Virtuoso/Laker 中通过菜单栏调用 Calibre Interactive。
2.3 命令行与图形界面
2.3.1 命令行工作流
命令行模式下,典型的 DRC 运行流程包含以下步骤:
- 准备规则文件:工艺厂提供的 .rul 文件或自定义规则。
- 准备版图数据:确保 GDS/OASIS 文件完整且无损坏。
- 编写运行脚本:设置输入、输出、层次化选项、线程数等参数。
- 执行 DRC:提交命令至本地或集群。
- 检查日志:查看 .log 文件确认运行状态,定位异常终止原因。
- 查看结果:使用 RVE 打开 .db 文件进行图形化分析。
常见陷阱: 命令行模式下,如果未正确设置
-hier 参数,大版图可能因内存不足而崩溃。建议对超过 1GB 的 GDS 文件始终启用层次化模式。
2.3.2 图形界面工作流
图形界面模式(Calibre Interactive / RVE)提供了更直观的调试体验,主要界面区域包括:
- Inputs 面板:指定版图文件、规则文件、顶层单元名称。
- Outputs 面板:设置结果数据库路径、报告格式。
- Run Control 面板:配置运行模式(Flat/Hierarchical)、线程数、分布式选项。
- RVE 结果浏览器:以树形结构展示违例分类,支持点击跳转至版图视图。
- 版图视图窗口:高亮显示违例图形,支持缩放、测量、标记。
2.4 关键文件与目录结构
一个典型的 Calibre DRC 项目目录结构如下:
project_root/
├── layout/ # 版图数据目录
│ ├── top.gds
│ └── top.oasis
├── rules/ # 规则文件目录
│ ├── drc_rule.rul
│ └── include/ # 子规则文件
├── run/ # 运行目录
│ ├── run_drc.sh # 运行脚本
│ ├── drc.log # 运行日志
│ ├── drc.db # 结果数据库
│ └── drc.sum # 汇总报告
└── debug/ # 调试工作目录
├── drc_rve.rve # RVE 会话文件
└── markers.gds # 错误标记输出
最佳实践: 建议将规则文件、版图数据、运行目录三者分离管理。运行目录每次可新建时间戳子目录(如
run_20250410_0930),便于回溯历史结果。