CAD FLOW / DESIGN RULE CHECK
DRC · 版图规则检查
使用 Calibre 检查 OA layout 或已有 GDS。先准备正确的工艺 runset,再选择输入、运行模式与结果目录。
准备工具与工艺文件
Bash · 在启动 Virtuoso 前配置
export DRC_FILE="default,$PDK_ROOT/pv/drc.cal;signoff,$PDK_ROOT/pv/drc-signoff.cal"
export DRC_DB_DIR="$PROJECT_ROOT/runs/drc"
export DRC_DEF_TOOL="Calibre"
# OA 输入才需要下列两项;路径必须与当前 PDK 匹配。
export CDS_LIB="$PROJECT_ROOT/cds.lib"
export TECH_LAYER_MAP="$PDK_ROOT/stream/streamOut.map"
command -v calibre strmoutcalibre 必须能从 PATH 找到。设置 MGC_HOME 并不会替 DRC 选择执行程序。已有 GDS 输入不需要再从 OA stream-out。
在 GUI 中运行
- 选择 SiCo → DRC。使用已保存设置时,先选择 Profile 并点击 Load。
- 选择 OA layout 的 library / cell / view,或选择 GDS 文件并填入其 top cell。
- 选择 DRC runset;需要缩小检查范围时使用 Rule Select。检查选中的 group / check 与工艺规则相符。
- 选择输出根目录及 Current Host 或 LSF Farm。Hier 模式可选 CPU;Flat 模式固定使用 1 CPU。
- 运行后查看日志和 DRC summary。成功完成工具调用后可以选择打开 Calibre RVE,查看违反规则的位置。
工具正常退出与“版图没有 DRC violation”是两个结论。交付前需检查 summary 与 RVE 的实际结果;仅有完成提示不足以判定设计规则通过。
Rule Select 的使用边界
普通 SVRF 可直接发现规则组。编译期 TVF 需要 Calibre 展开后分析,首次读取可能较慢;可用 CALIBRE_BIN 为规则展开单独指定工具,DRC_RULE_GROUP_CACHE_DIR 指定展开缓存。它们不改变主 DRC 的 Calibre 选择。
只有明确需要补充工艺命令时才填写 Custom SVRF,并检查最终命令与 foundry runset 的关系。团队常用设置应通过 Profile 保存。
命令行与结果
下面的 /path/to/run/drc.toml 指一次运行使用的完整配置,通常由 GUI 生成;不是仅含 Profile 标识的文件。
Shell · 检查计划、生成命令、运行与查看结果
drc run /path/to/run/drc.toml --dry-run
drc generate /path/to/run/drc.toml
drc run /path/to/run/drc.toml
drc report /path/to/run/drc.tomlgenerate 写出工具命令;--dry-run 不启动 EDA 工具,但仍可能准备运行目录与配置文件。实际 DRC 命令在 log/drc.cal,RVE 数据库为 db/drc/cal_drc.out。需要复核默认项时查看 log/flow-defaults/。
遇到问题时
| 现象 | 处理 |
|---|---|
| Runset 下拉为空 | 核对 DRC_FILE 格式与文件访问权限,重新启动读取新环境的 Virtuoso。 |
| OA 导出失败 | 检查 CDS_LIB、库/cell/view、TECH_LAYER_MAP,以及 strmout 与许可证环境。 |
| TVF 规则组读取失败 | 检查 Calibre 版本、展开日志与 runset 的 include 环境;不要把空规则列表当成不存在检查项。 |
| 结果目录无法创建 | 检查 DRC_DB_DIR 或自定义根的最近存在父目录是否可写。 |