在芯片物理验证流程中,Siemens Calibre 是最主流的 DRC/LVS 工具之一。
本文聚焦两个日常高频操作:保存运行设置(Save State / Runset)将 DRC 结果反标回版图(Back-annotation),给出完整的 GUI 操作路径、命令行用法与最佳实践。


1. 背景:为什么需要保存 State 和做反标?

痛点 解决方案
每次启动 Calibre Interactive 都要重新配置规则文件、输入数据库、检查项 保存 Runset,下次一键加载恢复所有配置
DRC 报出几十甚至上百条违例,不知道错误在版图哪里 Calibre RVE 反标,点击条目即在版图中自动高亮定位
批量跑脚本后需要重现某次运行的参数 Runset 文件即为可复现的运行清单

2. 保存 State:Runset 管理

2.1 “State” 的含义

在 Calibre Interactive 中,State 对应的概念是 Runset
Runset 文件(通常以 .cal.runset 为扩展名)是一个纯文本文件,记录了本次运行的所有配置:

  • DRC 规则文件路径(-drc_rule_file
  • 输入版图数据库(GDS/OASIS/OpenAccess)
  • 顶层 Cell 名称
  • 启用/禁用的检查项
  • 输出目录与报告路径
  • 环境变量和 Socket 连接端口

2.2 GUI 操作:保存与加载 Runset

保存当前 State

在 Calibre Interactive 窗口菜单栏中:

1
File > Save Runset

在弹出的对话框中选择保存路径和文件名(如 top_drc_v1.cal),点击 Save

加载已有 Runset

1
File > Load Runset

浏览并选择之前保存的 .cal 文件,点击 Load,所有配置即刻恢复。

2.3 自动保存(推荐开启)

进入:

1
Setup > Preferences > Misc

勾选选项:

1
☑ Save runset to current directory each time Calibre is run

开启后,每次点击 Run DRC 时,Calibre 都会自动在当前工作目录写入最新的 Runset 文件,方便事后追溯。

2.4 命令行使用 Runset

保存的 Runset 文件可直接用于命令行批量运行,无需打开 GUI:

1
2
# 使用保存的 runset 在命令行运行 DRC
calibre -drc -hier -runset top_drc_v1.cal

或通过环境变量指定默认 Runset:

1
2
export MGC_CALIBRE_DRC_RUNSET_FILE=/path/to/top_drc_v1.cal
calibre -drc -hier

2.5 结果数据库:SVDB

DRC 运行完成后,结果存储在 SVDB(Standard Verification Database) 目录中,通常命名为 <cell_name>.svdb/
其中核心文件是 drc.db,它记录了所有违例的几何位置和规则信息。

注意:SVDB 并非 State 文件,而是结果数据库。下次若要不重跑直接查看结果,可以直接在 RVE 中加载该 SVDB 目录:

1
File > Open Results > 选择 .svdb 目录

3. 反标(Back-annotation):将 DRC 错误映射到版图

3.1 什么是反标?

反标(Back-annotation / Highlighting) 是指:

在 DRC 结果查看工具(RVE)中点击某条违例记录后,版图编辑器(如 Cadence Virtuoso、Synopsys Laker)自动跳转并高亮显示该错误的几何位置。

这是定位和修复 DRC 违例最高效的方式。

3.2 工具:Calibre RVE

RVE(Results Viewing Environment) 是 Calibre 专用的结果交互查看工具,通过 Socket 连接与版图工具实时通信。

3.3 操作流程

步骤 1:运行 DRC 并打开 RVE

DRC 运行结束后,Calibre Interactive 会提示打开 RVE。也可以在 Calibre Interactive 中点击:

1
Results > View DRC Results

步骤 2:在版图编辑器中建立连接

Cadence Virtuoso 为例:

在 Virtuoso 菜单栏(需要加载 mgc_rve_init.il SKILL 脚本):

1
Calibre > RVE...

点击后会弹出连接对话框,配置 Socket 端口(默认从 5000 开始,若被占用会自动递增)。

若 Virtuoso 工具栏没有 Calibre 菜单,需要在 .cdsinit 或 SKILL 控制台执行:

1
load("/path/to/calibre/lib/mgc_rve_init.il")

步骤 3:在 RVE 中点击错误进行反标

在 RVE 的违例列表中,双击任意一条 DRC 违例记录:

  • Virtuoso 版图窗口会自动居中并缩放到该错误位置
  • 错误的几何形状会以独立的高亮颜色(通常是醒目的红色或黄色)叠加显示
  • 同一规则的所有违例可一次性批量高亮

步骤 4:配置高亮选项(可选)

在 RVE 中:

1
Setup > Options > Highlighting

可配置:

  • 高亮颜色
  • 是否自动 Zoom In
  • 是否在独立层(Calibre Layers)显示标记

3.4 支持的版图编辑器

版图工具 集成方式
Cadence Virtuoso mgc_rve_init.il SKILL 脚本,加载后有 Calibre 菜单
Synopsys Laker / IC Validator 内置 Calibre RVE 接口
Mentor Graphics (Xpedition) 原生支持

3.5 直接从命令行启动 RVE 加载结果

若 DRC 已运行完毕,可以单独启动 RVE 加载 SVDB 进行反标,无需重跑:

1
2
3
calibredrv -m results.db -rve drc
# 或直接指定 svdb 目录
calibrewb -svdb ./TOP_CELL.svdb -drc

4. 典型问题排查

问题 1:RVE 连接不上 Virtuoso

现象:双击 RVE 中的违例后,Virtuoso 无反应。

排查步骤

  1. 确认 Socket 端口未被防火墙或其他进程占用:
    1
    
    netstat -an | grep 5000
    
  2. 检查 Calibre Interactive 的 Setup > Preferences > Socket 中的端口号是否与 Virtuoso 中配置的一致。
  3. 确认 mgc_rve_init.il 已正确加载,且版图已处于可编辑状态(非只读)。

问题 2:Runset 加载后规则文件路径失效

原因:Runset 中保存的是绝对路径,在不同机器或挂载点不同的环境中会失效。

对策

  • 在 Runset 文件中使用环境变量代替绝对路径,如 $PDK_ROOT/rules/drc.cal
  • 团队共享 Runset 时,统一使用 NFS 挂载路径或 SymLink。

问题 3:SVDB 无法打开

原因:结果数据库被截断(磁盘满)或运行未正常结束。

对策

  • 检查磁盘剩余空间:df -h
  • 重新运行 DRC 并确保运行完成(Calibre terminated with 0 DRC results 之类的正常结束信息)

5. 经验总结与最佳实践

  1. 版本化管理 Runset:将 .cal Runset 文件纳入版本控制(Git),每次 Tapeout 冻结时 Tag 一份,方便回溯。
  2. 区分 State 和 Results:Runset(.cal)保存的是运行参数;SVDB 保存的是运行结果;两者分开管理。
  3. 自动保存 Runset:在团队 SOC 流程中,通过开启”每次运行自动保存”选项,确保最新运行参数始终有留存。
  4. 反标辅助修版:DRC 修复阶段,始终保持 RVE 与 Virtuoso 的 Socket 连接,边看违例、边修版图,效率最高。
  5. 批量运行用命令行:Regression / Nightly 批跑场景使用 calibre -drc -runset 命令行模式,结果自动写入 SVDB,第二天用 RVE 加载查看即可。

参考资料

  • Siemens EDA - Calibre DRC 产品页面
    https://eda.sw.siemens.com/en-US/ic/calibre-design/design-rule-check/
    概述 Calibre Interactive 的核心功能与 Runset 管理。

  • Siemens Support Portal (需企业账户)
    https://support.sw.siemens.com
    包含完整的 Calibre Interactive User’s Manual 与 RVE User’s Manual(PDF)。

  • Calibre Interactive Reference ManualChapter: Runset File Format
    详细说明 Runset .cal 文件的所有可配置字段与语法。
    (需登录 Siemens Support Portal 下载)

  • Calibre RVE User’s ManualChapter: Highlighting and Back-annotation
    描述 RVE Socket 连接机制与版图工具集成方法。
    (需登录 Siemens Support Portal 下载)