查看: 11|回复: 0

[转贴] Calibre Runset 用 Cell/Module 名自动生成验证目录

[复制链接]

1

主题

0

回帖

305

积分

中级会员

积分
305
发表于 昨天 14:11 | 显示全部楼层 |阅读模式
本帖最后由 巨石牛 于 2026-10-15 14:16 编辑

核心关键字:**%l** 是 Calibre runset 内置变量,代表当前所选 layout module/cell 名称,*cmnTemplate_RN 控制 Run Directory 模板,运行时自动替换并创建文件夹。

变量对照表
%l = Layout Module Name(你要的模块名)
%s = Schematic Module Name(LVS 时原理图 cell)
%r = Runset 名称
%u = 用户名

## 方式 1:直接编辑 runset 文件(推荐,永久生效)

打开你的 xxx.runset,添加 / 修改这一行:

*cmnTemplate_RN: ./calibre_run/%l

含义:在当前目录下,自动新建 calibre_run/模块名 作为工作目录,DRC/LVS/PEX 所有输出放这里。

完整示例(DRC runset 片段)

*cmnTemplate_RN: ./results/drc/%l
cmnOverwriteRN: 1

- cmnOverwriteRN:1:目录已存在时直接复用;0 = 弹出提示。

绝对路径写法示例:

*cmnTemplate_RN: /proj/verify/calibre_lvs/%l

## 方式 2:Calibre Interactive GUI 设置(图形界面,保存进 runset)

1. 打开 Calibre Interactive → 加载 runset
2. Inputs Tab → 找到 **Run Directory**
3. 填入模板字符串:./calibre_run/%l
4. Save Runset,保存后会自动写入上面  *cmnTemplate_RN  字段。

## 方式 3:Skill 脚本(Virtuoso 内一键启动 Calibre,动态传 module)


;; get current selected cell name
let( (cellName runDir)
  cellName = geGetSelCellview()-cellName
  runDir = strcat("./calibre_run/" cellName)
  calibreStart(
    ?runsetFile "./lvs.runset"
    ?runDirectory runDir
  )
)

这种是外部传参,优先级高于 runset 里*cmnTemplate_RN。

## 方式 4:命令行 calibre -run 调用

calibre -run drc.rule ./gds ./calibre_run/$CELL_NAME
## 重要注意事项
1. %l **大小写严格跟随 layout cell 名**,模块名带/、:、空格会报错,尽量命名干净。
2. 多层子 cell:%l永远是**顶层你选择的验证模块名**,不是底层子单元。
3. LVS 场景:如果你想原理图模块名做目录,用%s;通常 LVS 顶层 layout 和 schematic 同名,%l够用。
4. 目录自动创建:Calibre 运行时**自动 mkdir**,不需要提前建文件夹。
5. 旧版本 Calibre(2019 及更早)也支持*cmnTemplate_RN,极少数超老版本不支持模板变量。

## 常见踩坑

- ❌ 填成 %L 大写:变量无效,原样字符串
- ❌ 路径末尾多加/:./results/%l/ 也能用,不影响,但推荐 ./results/%l
- ❌ runset 编码 / 换行符 Windows CRLF:偶尔变量解析失败,改成 unix LF
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注公众号

相关侵权、举报、投诉及建议等,请发 E-mail:admin@discuz.vip

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.|沪ICP备2020032996号-2

在本版发帖
关注公众号
返回顶部