3. ICV DRC 运行环境搭建:ICV 安装配置、环境变量设置、License 管理及基础运行命令
ICV(IC Validator)是 Synopsys 公司推出的高性能物理验证工具,广泛应用于先进工艺节点的 DRC、LVS 及金属填充检查。本章聚焦于 ICV DRC 运行环境的完整搭建流程,涵盖安装配置、环境变量设置、License 管理以及最常用的基础运行命令。正确搭建运行环境是后续所有 DRC 报错定位与修复工作的前提。
3.1 ICV 安装配置
ICV 的安装包通常以 .tar.gz 或 .tar.zst 格式提供。安装过程主要分为解压、设置安装路径和验证完整性三个步骤。
| 步骤 | 操作内容 | 关键命令 / 说明 |
|---|---|---|
| 1 | 解压安装包 | tar -xzvf ICV_2024.12_linux64.tar.gz -C /tools/synopsys/ |
| 2 | 创建安装目录 | mkdir -p /tools/synopsys/ICV_2024.12 |
| 3 | 设置安装路径软链接 | ln -s /tools/synopsys/ICV_2024.12 /tools/synopsys/icv |
| 4 | 验证安装完整性 | 检查 icv/bin/ 目录下是否存在 icv、icv_drc 等可执行文件 |
/tools/synopsys/),并使用不带版本号的软链接指向当前使用的版本,便于后续版本升级时切换环境。
3.2 环境变量设置
ICV 运行需要正确设置 ICV_HOME、PATH、LM_LICENSE_FILE 或 SNPSLMD_LICENSE_FILE 等环境变量。以下是一个标准的 .bashrc 或 .cshrc 配置示例。
Bash Shell 配置示例
# ICV 环境变量设置
export ICV_HOME=/tools/synopsys/icv
export PATH=${ICV_HOME}/bin:${PATH}
export LM_LICENSE_FILE=27000@license_server:${LM_LICENSE_FILE}
# 或使用 SNPSLMD_LICENSE_FILE
export SNPSLMD_LICENSE_FILE=27000@license_server
C Shell 配置示例
# ICV 环境变量设置
setenv ICV_HOME /tools/synopsys/icv
setenv PATH ${ICV_HOME}/bin:${PATH}
setenv LM_LICENSE_FILE 27000@license_server:${LM_LICENSE_FILE}
setenv SNPSLMD_LICENSE_FILE 27000@license_server
PATH 中 ICV 的 bin 目录排在前面,避免调用到其他工具的同名命令。使用 which icv 命令可确认当前调用的 ICV 路径是否正确。
3.3 License 管理
ICV 使用 Synopsys Common Licensing (SCL) 进行 License 管理。License 文件通常由 lmgrd 守护进程加载,ICV 客户端通过 LM_LICENSE_FILE 或 SNPSLMD_LICENSE_FILE 环境变量指向 License 服务器。
| License 变量 | 适用场景 | 示例值 |
|---|---|---|
LM_LICENSE_FILE |
通用 License 变量,支持多种 EDA 工具 | 27000@lic_srv1:27000@lic_srv2 |
SNPSLMD_LICENSE_FILE |
Synopsys 专用 License 变量,优先级高于 LM_LICENSE_FILE |
27000@lic_srv1 |
lmstat -a -c 27000@license_server 可查看当前 License 服务器的状态、可用 Feature 及用户占用情况。ICV 对应的 Feature 名称通常为 ICV 或 ICV-DRC。
3.4 基础运行命令:icv -gui 与 icv -drc
ICV 提供两种主要的运行模式:图形界面模式(icv -gui)和批处理模式(icv -drc)。图形界面适用于交互式调试和报错定位,批处理模式适用于大规模、自动化的 DRC 检查流程。
3.4.1 icv -gui:图形界面启动
icv -gui 命令启动 ICV 的图形用户界面,支持加载版图、运行 DRC、查看报错结果和交互式定位。
# 启动 ICV GUI
icv -gui
# 启动时直接加载版图和规则文件
icv -gui -layout top.gds -rules drc_rule_file.drc
3.4.2 icv -drc:批处理模式运行
icv -drc 命令用于在命令行中直接运行 DRC 检查,无需图形界面,适合集成到自动化流程中。
# 基本 DRC 运行命令
icv -drc -layout top.gds -rules drc_rule_file.drc -outdir drc_results
# 指定输出数据库格式(GDSII/OASIS)
icv -drc -layout top.gds -rules drc_rule_file.drc -outdir drc_results -outfmt gds
# 多线程加速运行
icv -drc -layout top.gds -rules drc_rule_file.drc -outdir drc_results -threads 8
-outdir 指定的目录下会生成 .drc 结果数据库文件、.log 日志文件和 .summary 汇总报告。这些文件是后续报错定位与修复的核心数据来源。
3.5 ICV DRC 运行环境架构总览
下图展示了 ICV DRC 运行环境的整体架构,从安装配置、环境变量、License 管理到两种运行模式的完整链路。
3.6 运行环境验证清单
完成上述配置后,建议按以下清单逐项验证环境是否就绪,避免在后续 DRC 运行中出现基础环境问题。
- 检查 ICV 可执行文件:
which icv应返回正确的安装路径。 - 检查版本信息:
icv -version应显示安装的版本号和编译信息。 - 检查 License 可用性:
lmstat -a -c 27000@license_server | grep ICV应显示可用的 Feature。 - 测试 GUI 启动:运行
icv -gui,确认图形界面正常弹出。 - 测试批处理运行:使用一个简单的 DRC 规则文件和测试版图运行
icv -drc,确认输出目录生成结果文件。
- icv: command not found → 检查
ICV_HOME/bin是否在PATH中。 - License 错误(Feature not found) → 检查
LM_LICENSE_FILE或SNPSLMD_LICENSE_FILE指向的服务器和端口是否正确。 - GUI 启动失败(Display 错误) → 检查
DISPLAY环境变量是否设置,或使用ssh -X转发。