第2章 环境安装与许可证配置

2.1 问题背景

形式化验证工具对运行环境敏感。JasperGold 以 Linux 64 位为主要运行平台,其安装、依赖库和许可证服务直接决定工具能否正常启动。多数初学问题集中在三类原因:环境变量未设置、许可证端口不可达、依赖库缺失。

2.2 核心概念

本次环境搭建涉及四个核心对象:

  • 安装包:Cadence 官方发布的压缩包,解压后包含 bin/、lib/、doc/ 等目录。
  • 安装目录:工具根目录,通常记为 JASPERGOLD_HOME。
  • 环境变量:系统查找可执行文件依赖 PATH;工具查找自身资源依赖 JASPERGOLD_HOME;许可证配置依赖 LM_LICENSE_FILE。
  • 许可证:Cadence 使用 FlexNet 许可证机制,支持节点锁定(Node-locked)和浮动(Floating)两种模式。
系统检查依赖 OS/库/磁盘 解压安装包 tar -zxvf 设置环境变量 PATH/JASPERGOLD_HOME 配置许可证 LM_LICENSE_FILE 验证启动 jaspergold -version
小技巧:使用 which jaspergold && jaspergold -version 可以快速确认当前生效的工具路径与版本。

2.3 环境配置速查表

检查项 推荐要求 说明
操作系统 RHEL 8.6+ / 9.x x86_64 需要 glibc 2.28 及以上版本
磁盘空间 安装目录 ≥ 10GB,临时目录 ≥ 5GB 大型验证工程会产生大量中间文件
依赖库 libX11、libXrender、libXft、libpng 用 ldd 检查 bin/jaspergold 依赖
许可证 FlexNet 浮动或节点锁定 确认 license 文件中包含 JasperGold 特性
环境变量 JASPERGOLD_HOME、PATH、LM_LICENSE_FILE 建议写入 ~/.bashrc 或环境模块文件

2.4 原理机制

JasperGold 启动时的定位流程如下:

  1. 读取 JASPERGOLD_HOME,定位工具安装根目录。
  2. 通过 PATH 找到 jaspergold 可执行文件。
  3. 解析 LM_LICENSE_FILE,指向本地 license 文件或 license 服务器。
  4. 通过 FlexNet 校验功能特性,校验通过后进入 Tcl 交互界面或 batch 模式。
  5. 加载设计文件并执行形式化验证任务。

浮动许可证模式下,lmgrd 在服务器端管理许可证发放;客户端通过 port@host 向服务器请求可用特性。节点锁定模式下,license 文件绑定主机 MAC 地址,无需网络请求。

2.5 安装与配置流程

以下为通用安装流程,实际版本可能略有差异。

# 1. 解压安装包到目标目录
tar -zxvf JasperGold-2023.06-linux64.tgz -C /tools/cadence/

# 2. 确认可执行文件存在
ls -l /tools/cadence/jaspergold/bin/jaspergold

# 3. 写入环境变量(追加到 ~/.bashrc)
export JASPERGOLD_HOME=/tools/cadence/jaspergold
export PATH=$JASPERGOLD_HOME/bin:$PATH

# 4. 配置许可证(浮动模式)
export LM_LICENSE_FILE=27000@192.168.1.100
# 如有多个 license server,用冒号分隔
# export LM_LICENSE_FILE=27000@server1:27000@server2

# 5. 若使用本地 license 文件(节点锁定)
# export LM_LICENSE_FILE=/tools/cadence/licenses/jasper.lic

# 6. 在当前 shell 生效
source ~/.bashrc

# 7. 验证版本
jaspergold -version
关键:环境变量配置要写入持久化文件(如 ~/.bashrc),不要只在当前终端临时 export。否则每次打开新终端都会丢失配置。

2.6 案例说明

某 IP 团队在 RHEL 8.6 服务器上安装 JasperGold 2023.06,使用浮动许可证。

  • 安装路径:/home/eda/jaspergold
  • 许可证服务器:192.168.1.100:27000
  • license 文件:/home/eda/licenses/jasper.lic

启动许可证服务器:

lmgrd -c /home/eda/licenses/jasper.lic -l /var/log/jasper_lmgrd.log

# 检查服务器状态
lmstat -a -c 27000@192.168.1.100

客户端 ~/.bashrc 配置:

export JASPERGOLD_HOME=/home/eda/jaspergold
export PATH=$JASPERGOLD_HOME/bin:$PATH
export LM_LICENSE_FILE=27000@192.168.1.100

验证结果:执行 jaspergold -version 输出版本信息,运行一个最小 RTL 断言用例,确认工具链路正常。

2.7 常见误区

  • 误区1:许可证文件与当前主机不匹配。 节点锁定许可绑定 MAC 地址,更换机器后必须向 Cadence 重新申请。
  • 误区2:只设置 PATH,未设置 JASPERGOLD_HOME。 工具虽能启动,但部分子工具或脚本依赖该环境变量,后续运行易报错。
  • 误区3:同一环境中多个 EDA 工具的 PATH 互相冲突。 用 which jaspergold 检查实际生效的路径。
  • 误区4:许可证服务器防火墙未放行。 客户端连接超时,可先使用 telnet server 27000 测试端口连通性。
  • 误区5:跳过依赖库检查。 工具启动时提示缺少 libX11.so.6 这类共享库,需用 ldd 提前排查。

2.8 实践清单

  • 确认操作系统为 64 位 Linux,且 glibc 版本满足要求。
  • 解压安装包到独立磁盘目录,记录完整安装路径。
  • 在 ~/.bashrc 中配置 JASPERGOLD_HOME、PATH、LM_LICENSE_FILE。
  • 浮动许可证模式:启动 lmgrd 服务,并用 lmstat 验证可获取许可证。
  • 节点锁定模式:核对 license 文件主机标识与当前机器 MAC 一致。
  • 执行 jaspergold -version,确认版本信息正确。
  • 运行一个最小 RTL 模块的 formal 检查用例,验证工具可正常完成“加载设计 → 形式化分析 → 输出结果”。