4. DRC 运行环境搭建:Linux 环境下 Calibre/ICV 的安装配置、环境变量设置、License 管理
DRC 工具的运行环境搭建是自动化验证流程的基石。本章以业界主流工具 Calibre (Siemens EDA) 和 ICV (Synopsys) 为例,详细讲解在 Linux 环境下的安装配置、环境变量设置以及 License 管理方法。正确的环境配置能避免 90% 以上的运行时错误。
4.1 Calibre 安装配置
Calibre 是 Siemens EDA 旗下的物理验证黄金工具。其安装包通常以 .tar 或 .tar.Z 格式分发,包含 aoi_cal、calibre、calibre_gui 等核心可执行文件。
4.1.1 安装步骤
- 解压安装包: 将安装包上传至目标路径(如
/tools/mentor/),执行解压。 - 设置安装目录结构: 建议保持默认的
calibre-version/目录层级。 - 验证安装: 运行
calibre -help检查是否正常启动。
# 创建安装目录
mkdir -p /tools/mentor/calibre
cd /tools/mentor/calibre
# 解压安装包(假设安装包为 calibre_2024.1_linux.tar)
tar -xvf /path/to/calibre_2024.1_linux.tar
# 设置执行权限(如有必要)
chmod -R +x /tools/mentor/calibre/calibre-2024.1/
# 验证安装
/tools/mentor/calibre/calibre-2024.1/bin/calibre -help
4.1.2 环境变量设置
Calibre 的环境变量主要涉及 CALIBRE_HOME、PATH 和 MGLS_LICENSE_FILE。推荐在用户的 .bashrc 或 .cshrc 中配置。
| 环境变量 | 说明 | 示例值 |
|---|---|---|
CALIBRE_HOME |
Calibre 安装根目录 | /tools/mentor/calibre/calibre-2024.1 |
PATH |
添加 Calibre 可执行文件路径 | $CALIBRE_HOME/bin |
MGLS_LICENSE_FILE |
指向 License 文件或端口@服务器 | 1717@license-server 或 /path/to/license.dat |
CALIBRE_2013_ONLY |
兼容旧版本语法(可选) | TRUE 或 FALSE |
# Calibre 环境变量
export CALIBRE_HOME=/tools/mentor/calibre/calibre-2024.1
export PATH=$CALIBRE_HOME/bin:$PATH
export MGLS_LICENSE_FILE=1717@license-server
# 可选:启用多线程
export CALIBRE_DRC_MT=4
4.2 ICV 安装配置
ICV (IC Validator) 是 Synopsys 的物理验证解决方案,与 IC Compiler 和 Fusion Compiler 深度集成。其安装通过 Synopsys Installer 进行。
4.2.1 安装步骤
- 运行 Installer: 使用
./setup.sh启动图形化或命令行安装。 - 指定安装路径: 如
/tools/synopsys/icv-2024.03。 - 选择产品组件: 至少选择
ICV和ICV GUI。 - 完成安装: 安装后生成
ICV_HOME目录。
# 使用 Synopsys Installer 进行静默安装
./setup.sh -silent \
-installer /path/to/installer_v5.4 \
-platform linux64 \
-root /tools/synopsys/icv-2024.03 \
-product ICV \
-version 2024.03
4.2.2 环境变量设置
ICV 的环境变量核心是 ICV_HOME 和 SNPSLMD_LICENSE_FILE。注意 ICV 使用 snpslmd 作为 License 守护进程。
| 环境变量 | 说明 | 示例值 |
|---|---|---|
ICV_HOME |
ICV 安装根目录 | /tools/synopsys/icv-2024.03 |
PATH |
添加 ICV 可执行文件路径 | $ICV_HOME/bin |
SNPSLMD_LICENSE_FILE |
指向 Synopsys License 文件或端口 | 27000@license-server |
LM_LICENSE_FILE |
通用 License 变量(可选) | 27000@license-server |
# ICV 环境变量
export ICV_HOME=/tools/synopsys/icv-2024.03
export PATH=$ICV_HOME/bin:$PATH
export SNPSLMD_LICENSE_FILE=27000@license-server
# 可选:设置临时文件目录
export ICV_TMP=/tmp/icv_$USER
4.3 License 管理
License 管理是 DRC 环境中最容易出错的环节。Calibre 使用 FLEXlm (lmgrd) 管理,ICV 使用 Synopsys Common Licensing (snpslmd)。两者均支持浮动 License。
4.3.1 License 文件结构
一个标准的 License 文件包含 SERVER 行、DAEMON 行和 FEATURE 行。以下是一个 Calibre License 示例:
SERVER license-server 001122334455 1717
DAEMON mgcld /tools/mentor/calibre/calibre-2024.1/bin/mgcld
FEATURE Calibre_DRC mgcld 2024.12 31-dec-2024 10 \
VENDOR_STRING=... HOSTID=001122334455 ...
4.3.2 启动 License 服务
License 服务通常以守护进程方式运行,建议使用 lmgrd 或 snpslmd 启动。
| 工具 | License 守护进程 | 启动命令 | 常用端口 |
|---|---|---|---|
| Calibre | mgcld |
lmgrd -c license.dat -l /var/log/lmgrd.log |
1717 |
| ICV | snpslmd |
lmgrd -c license.dat -l /var/log/snpslmd.log |
27000 |
- “Cannot find license file”:检查
MGLS_LICENSE_FILE或SNPSLMD_LICENSE_FILE是否指向正确路径或端口。 - “License server does not support this feature”:FEATURE 行过期或版本不匹配,需更新 License 文件。
- “No such feature exists”:License 文件中缺少对应 FEATURE,或环境变量指向错误的 License 文件。
- “Unable to checkout license”:所有 License 已被占用,或 HostID 不匹配。
4.4 环境验证与常见问题
完成安装和配置后,必须进行环境验证,确保工具可正常调用 License。
4.4.1 验证命令
| 验证项 | 命令 | 预期结果 |
|---|---|---|
| Calibre 可执行 | calibre -help |
显示帮助信息,无 License 错误 |
| ICV 可执行 | icv -help |
显示版本和帮助信息 |
| License 状态 | lmstat -a -c 1717@license-server |
显示 Feature 列表和已用/可用数量 |
| 环境变量 | echo $CALIBRE_HOME |
输出正确的安装路径 |
.bashrc 中设置 ulimit -s unlimited 和 ulimit -c unlimited,避免 DRC 运行过程中因栈空间不足导致崩溃。同时,将 License 日志重定向到独立文件,便于事后审计。