3. Calibre DRC 运行环境搭建
Calibre DRC 的运行环境搭建是版图验证流程的第一步,也是最容易出错的环节。一个稳定、配置正确的环境能避免大量运行时错误,确保 DRC 结果准确可靠。本节从 Linux 环境配置、License 设置、命令行与图形界面启动三个维度展开。
3.1 Linux 环境配置
Calibre 主要运行在 Linux 平台(Red Hat Enterprise Linux / CentOS 7+ 或 SUSE Linux Enterprise Server)。环境配置的核心是设置正确的系统库路径、临时文件目录和进程资源限制。
| 配置项 | 推荐值 / 操作 | 说明 |
|---|---|---|
| 操作系统 | RHEL 7.9 / CentOS 7.9+ | Calibre 2022+ 已停止对 RHEL 6 的支持 |
| 临时目录 | /tmp 或 /scratch,剩余空间 > 50 GB |
DRC 运行中会产生大量中间文件 |
| 共享内存 | /dev/shm 挂载大小 > 16 GB |
多线程 DRC 依赖共享内存进行数据交换 |
| 文件描述符 | ulimit -n 65535 |
防止大版图 DRC 因文件句柄耗尽而崩溃 |
| 栈大小 | ulimit -s unlimited |
避免递归深度较大的 DRC 规则栈溢出 |
环境变量配置示例(.bashrc / .cshrc)
# Bash 环境
export CALIBRE_HOME=/tools/mentor/calibre/2023.4
export PATH=$CALIBRE_HOME/bin:$PATH
export CALIBRE_TMPDIR=/scratch/$USER/calibre_tmp
export MGC_LICENSE_FILE=27010@license_server
ulimit -n 65535
ulimit -s unlimited
# 若使用 LSF / SGE 集群,还需设置
export MGLS_LICENSE_FILE=$MGC_LICENSE_FILE
export CALIBRE_USE_ALL_LICENSES=1
避坑提示: 临时目录 $CALIBRE_TMPDIR 必须具有写权限且剩余空间充足。建议使用独立 SSD 分区或高速网络存储,避免与系统 /tmp 共用导致磁盘占满。
3.2 Calibre License 设置
Calibre 使用 Mentor Graphics 标准的 FlexNet 许可证管理机制。License 配置错误是 DRC 启动失败的最常见原因之一。
3.2.1 License 文件与服务器模式
推荐使用 浮动 License 服务器 模式,便于多用户共享。关键环境变量如下:
| 环境变量 | 语法 | 说明 |
|---|---|---|
MGC_LICENSE_FILE |
port@host 或 license_file_path |
主 License 变量,Calibre 优先读取 |
MGLS_LICENSE_FILE |
同上 | Mentor Graphics 通用 License 变量,建议与上者保持一致 |
LM_LICENSE_FILE |
同上 | FlexNet 通用变量,部分旧版本依赖此变量 |
常见 License 错误及排查:
- “License server does not support this feature” → 检查
lmstat -a确认 Calibre DRC 功能是否被签出 - “Cannot connect to license server” → 检查防火墙端口(默认 27010-27020)是否开放
- “License file checksum failed” → License 文件被篡改或过期,重新申请
3.2.2 License 可用性验证
# 查看 License 服务器状态
lmstat -a -c 27010@license_server
# 检查 Calibre DRC 特定功能是否可用
lmstat -a -c 27010@license_server | grep -i calibre
# 手动签出测试(不运行 DRC,仅验证 License)
calibre -lictest
3.3 Calibre DRC 启动方式
Calibre DRC 提供两种启动模式:命令行模式(适合批量、自动化流程)和 图形界面模式(适合交互调试、规则开发)。
3.3.1 命令行启动
命令行启动是生产环境的主流方式,通过 calibre -drc 命令配合规则文件和版图文件执行。
# 基本命令行格式
calibre -drc \
-hier \
-turbo 8 \
-hyper \
rule_file.drc \
layout.gds \
-o drc_results.db
# 参数说明
# -hier : 层次化 DRC,保留版图层次结构
# -turbo 8 : 启用 8 线程并行加速
# -hyper : 启用 HyperScale 加速(适用于先进工艺)
# -o : 指定输出数据库文件
| 参数 | 功能 | 适用场景 |
|---|---|---|
-hier |
层次化模式,保留单元层级 | 全芯片 DRC、层次化规则检查 |
-flat |
扁平化模式,展平所有层级 | 小模块 DRC、规则调试 |
-turbo N |
多线程并行,N 为线程数 | 大版图加速,建议 ≤ 物理核数 |
-hyper |
启用 HyperScale 加速引擎 | 7nm 及以下先进工艺 |
-nowaive |
不跳过任何规则,全部检查 | 最终 sign-off 验证 |
3.3.2 图形界面启动
图形界面适用于规则调试、错误查看和交互式修复。启动方式如下:
# 启动 Calibre Interactive(图形界面)
calibre -gui &
# 或直接启动 DRC 界面
calibre -drc -gui &
图形界面主要功能区:
- Rules 面板:加载 DRC 规则文件(.drc / .svrf)
- Inputs 面板:指定版图文件(GDSII / OASIS)和顶层单元
- Outputs 面板:设置结果数据库路径和错误报告格式
- Run 面板:启动 DRC 并实时查看运行日志
- RVE 界面:运行结束后自动弹出,用于错误定位和浏览
图形界面 vs 命令行选择建议:
- 规则开发 / 调试 → 图形界面,便于逐条规则验证和参数调整
- 批量生产 / 回归测试 → 命令行,便于脚本集成和自动化
- 错误分析 / 修复 → 图形界面 RVE + 版图编辑器联动
3.4 环境搭建完整流程 SVG
下图展示了从 Linux 环境配置到 DRC 启动的完整流程,包含关键检查点和常见失败路径。
3.5 环境验证清单
完成上述配置后,建议按以下清单逐项验证,确保环境就绪:
- 系统检查:
uname -a确认内核版本;df -h /tmp确认剩余空间 - 资源限制:
ulimit -a确认文件描述符 > 65535,栈大小无限制 - 环境变量:
echo $CALIBRE_HOME确认路径正确;which calibre确认可执行文件 - License 验证:
lmstat -a确认 Calibre DRC 功能可用;calibre -lictest确认无报错 - DRC 试运行:使用一个简单的测试规则文件和版图,执行
calibre -drc test.drc test.gds,确认正常生成结果数据库
生产环境建议: 将上述环境配置写入团队共享的 calibre_env.sh 脚本,所有用户 source 加载,确保环境一致。同时建议在 CI/CD 流程中加入环境验证步骤,避免因环境差异导致 DRC 结果不一致。