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 启动的完整流程,包含关键检查点和常见失败路径。

Calibre DRC 环境搭建与启动流程 Calibre DRC 环境搭建与启动流程 ① Linux 环境配置 OS / 内核版本 临时目录 /tmp ulimit 资源限制 ② License 设置 MGC_LICENSE_FILE lmstat 验证 calibre -lictest ③ 启动 DRC 命令行模式 图形界面模式 ❌ 失败:检查 License / 环境变量 💡 建议:先完成环境配置 → 验证 License → 再启动 DRC,避免重复排查

3.5 环境验证清单

完成上述配置后,建议按以下清单逐项验证,确保环境就绪:

  1. 系统检查:uname -a 确认内核版本;df -h /tmp 确认剩余空间
  2. 资源限制:ulimit -a 确认文件描述符 > 65535,栈大小无限制
  3. 环境变量:echo $CALIBRE_HOME 确认路径正确;which calibre 确认可执行文件
  4. License 验证:lmstat -a 确认 Calibre DRC 功能可用;calibre -lictest 确认无报错
  5. DRC 试运行:使用一个简单的测试规则文件和版图,执行 calibre -drc test.drc test.gds,确认正常生成结果数据库

生产环境建议: 将上述环境配置写入团队共享的 calibre_env.sh 脚本,所有用户 source 加载,确保环境一致。同时建议在 CI/CD 流程中加入环境验证步骤,避免因环境差异导致 DRC 结果不一致。