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 等可执行文件
安装路径建议:推荐将 ICV 安装在统一的工具根目录下(如 /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
环境变量冲突排查:如果系统中同时安装了多个 EDA 工具(如 Calibre、Assura),请确保 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
License 检查命令:使用 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 管理到两种运行模式的完整链路。

ICV DRC 运行环境架构总览 安装配置 解压 → 目录 → 软链接 环境变量设置 ICV_HOME / PATH / License 变量 License 管理 lmgrd / lmstat / Feature 运行模式 icv -gui(图形界面模式) 交互式调试 加载版图 / 规则 / 报错定位 适合小规模、调试场景 icv -drc(批处理模式) 自动化 DRC 检查 输出 .drc / .log / .summary 适合大规模、流程集成 输出产物 .drc 结果数据库 报错坐标 / 层次 / 规则 .log 日志文件 运行过程 / 错误 / 警告 .summary 汇总报告 违规总数 / 分类统计 GUI 交互视图 版图高亮 / 报错定位 说明:安装配置 → 环境变量 → License 管理是前置条件,两种运行模式根据场景选择,输出产物是后续报错定位的基础

3.6 运行环境验证清单

完成上述配置后,建议按以下清单逐项验证环境是否就绪,避免在后续 DRC 运行中出现基础环境问题。

  1. 检查 ICV 可执行文件:which icv 应返回正确的安装路径。
  2. 检查版本信息:icv -version 应显示安装的版本号和编译信息。
  3. 检查 License 可用性:lmstat -a -c 27000@license_server | grep ICV 应显示可用的 Feature。
  4. 测试 GUI 启动:运行 icv -gui,确认图形界面正常弹出。
  5. 测试批处理运行:使用一个简单的 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 转发。