4、ICV工具安装与配置:ICV软件安装、License配置、环境变量设置、常用目录结构
好,咱们进入第四章。这一章讲的是ICV工具安装与配置。说实话,很多工程师觉得这步就是跑个脚本、点个下一步,没什么技术含量。但我见过太多项目因为环境没配好,白白浪费一周时间。我自己刚入行那会儿,也在这上面栽过跟头。
ICV的安装配置,说白了就三件事:把软件装对、把License搞定、把环境变量设好。咱们一个一个来拆。
4.1 ICV软件安装
ICV的安装包通常是一个压缩包,或者是一个ISO镜像。我习惯先把安装包放到一个干净的目录下,比如 /tools/icv_install。
安装步骤其实不复杂,但有几个坑要注意:
- 检查操作系统兼容性:ICV对Linux发行版有要求。我记得有一次在CentOS 7上装ICV 2021,结果死活跑不起来,后来发现官方只支持RHEL 7.6以上。你想想看,光查这个就花了我半天。
- 磁盘空间要留够:ICV完整安装大概需要15-20GB。我建议至少留30GB,因为后续还有工艺库、PDK文件要放。
- 安装路径不要有中文或空格:这个老生常谈了,但总有人犯。我见过一个同事把ICV装到
/home/张三/ICV 2022/下面,结果环境变量怎么配都不对。
安装命令一般是这样:
# 解压安装包
tar -xzvf ICV_2022.1_linux.tar.gz -C /tools/icv_install/
# 运行安装脚本
cd /tools/icv_install/
./install_icv.sh
# 按照提示选择安装目录,比如 /tools/icv/2022.1
安装过程中会问你几个问题:安装类型(典型/自定义)、安装路径、是否安装文档。我个人习惯选典型安装,省事。文档建议装一下,查手册方便。
README 或 ReleaseNotes 文件。里面经常藏着一些版本兼容性信息,能帮你提前避坑。
4.2 License配置
License配置是ICV安装里最容易出问题的一环。说白了,License就是一把钥匙,没有它,ICV就是个摆设。
ICV的License管理用的是FlexNet。你需要一个License文件,通常叫 license.dat 或 icv_license.lic。这个文件从哪来?要么是公司买的,要么是厂商提供的试用版。
配置步骤:
- 设置LM_LICENSE_FILE环境变量:指向你的License文件路径。
- 启动License服务:用
lmgrd命令启动。 - 检查License状态:用
lmstat命令确认。
举个例子:
# 设置环境变量
export LM_LICENSE_FILE=/tools/licenses/icv_license.lic
# 启动License服务(如果使用浮动License)
lmgrd -c /tools/licenses/icv_license.lic -l /var/log/lmgrd.log
# 检查License是否可用
lmstat -a
还有一种情况是本地License。如果你只是单机使用,可以把License文件放在本地,直接设置环境变量就行,不用启动lmgrd服务。
4.3 环境变量设置
环境变量设置,是ICV配置里最灵活也最容易出错的部分。我习惯把环境变量写在一个单独的脚本里,比如 icv_env.sh,每次用的时候source一下。
核心环境变量就这几个:
| 变量名 | 说明 | 示例值 |
|---|---|---|
ICV_HOME |
ICV安装根目录 | /tools/icv/2022.1 |
PATH |
添加ICV可执行文件路径 | $ICV_HOME/bin:$PATH |
LM_LICENSE_FILE |
License文件路径 | /tools/licenses/icv_license.lic |
ICV_WORKDIR |
工作目录(可选) | /projects/icv_work |
一个完整的设置脚本大概长这样:
#!/bin/bash
# ICV环境变量设置脚本
export ICV_HOME=/tools/icv/2022.1
export PATH=$ICV_HOME/bin:$PATH
export LM_LICENSE_FILE=/tools/licenses/icv_license.lic
# 可选:设置临时文件目录
export ICV_TMP=/tmp/icv_$USER
# 可选:设置并行运行线程数
export ICV_NUM_THREADS=8
echo "ICV环境已设置,版本:2022.1"
嗯,这里要注意一点:ICV_NUM_THREADS 这个变量不是所有版本都支持。我建议先查一下文档,或者设成4试试,别一上来就设成64,容易把服务器搞崩。
4.4 常用目录结构
ICV安装完成后,目录结构大致是这样的。我挑几个重要的说一下:
/tools/icv/2022.1/
├── bin/ # 可执行文件,比如 icv_drc, icv_lvs
├── lib/ # 共享库文件
├── doc/ # 文档和手册
├── etc/ # 配置文件
├── examples/ # 示例脚本和设计
├── tech/ # 工艺文件(部分版本有)
└── license/ # License相关工具
- bin/:这是最常用的目录。ICV的所有命令都在这里,比如
icv_drc、icv_lvs、icv_verify。我一般会把这个目录加到PATH里。 - doc/:里面是PDF和HTML格式的文档。遇到问题先翻这里,比上网搜靠谱。
- examples/:这个目录很实用。里面有完整的DRC和LVS示例,包括规则文件和设计数据。我刚学ICV时,就是照着这些例子跑的。
- tech/:有些版本会把工艺文件放在这里。但说实话,我很少用这个目录,因为工艺文件通常由Foundry提供,放在项目目录下更安全。
我的建议:不要直接在ICV安装目录下跑项目。创建一个独立的工作目录,比如 /projects/my_chip/icv/,把工艺文件、规则文件、设计数据都放进去。这样既干净,又方便备份。
好了,ICV的安装与配置就讲到这里。下一章咱们开始讲DRC规则文件的结构,那才是真正有意思的部分。