在安装或启动 Cadence 工具时,有时会遇到如下报错:
1
2
3
4
5
6
7
8
ERROR: $OA_HOME is not set and the Cadence installation does not seem to
have a valid default OA installation under /usr1/edatool/cdns/PVS1524/share/oa
Check your OA installation (you may need to re-run the post-install configure
step for your Cadence tools), or set the OA_HOME variable to point to a valid
OA installation.
See the "OpenAccess Installation and Configuration Guide" for more information.
ipvs: ERROR: No proper OA2.2 installation found. Fix the errors reported by cdsGetOABinPath.
本文解释 OA_HOME 变量的含义、OA binaries 的用途,以及该报错的根本原因和修复方法。
什么是 OpenAccess(OA)
OpenAccess 是 EDA 行业的标准设计数据库格式。Cadence 几乎所有现代工具都已迁移到 OpenAccess 格式,包括:
- IC(Virtuoso)
- SOC/EDI
- ICC
- ANLS(Analog/Mixed-Signal)
- EXT(寄生参数提取)
- Pegasus / PVS(物理验证)
OA binaries 是 OpenAccess 的运行时库文件。工具需要通过它来读取和写入库(Library)、单元(Cell)和视图(View)等设计数据。没有 OA binaries,工具根本无法操作设计数据库。
OA_HOME 变量的作用
OA_HOME 用于指定 OA binaries 的安装路径。
工具启动时的查找逻辑如下:
- 若
OA_HOME已设置 → 使用该路径下的 OA binaries - 若
OA_HOME未设置 → 使用工具安装目录下的默认路径:
1
<tool_install>/share/oa ← 一个指向实际 OA binaries 的软链接(soft link)
设置 OA_HOME 会覆盖上述软链接,强制所有工具使用同一份集中的 OA binaries。
OA_HOME 不应在用户环境中常规设置
Cadence 官方明确指出(引自支持文章):
“Setting the OA_HOME variable would force all tools to use a set of centralized oa binaries. This would certainly cause an oa version conflict if all the tools are not updated on a regular basis such that they all use the latest oa version. The OA_HOME variable should only be used for debugging purposes and should not be used by the typical user.”
原因在于:各工具对 OA 版本有各自的要求,如果强制共用一个版本而版本不匹配,会导致 symbol lookup error,例如:
1
2
3
/cad/cds/IC618/tools/dfII/bin/64bit/virtuoso: symbol lookup error:
/cad/cds/IC618/tools/lib/64bit/libddbase_sh.so:
undefined symbol: _ZN8oaCommon11FactoryBase11getRefCountEv
因此,不应在 .cshrc 或其他环境初始化脚本中设置 OA_HOME。如果已设置,可用以下命令取消:
1
unsetenv OA_HOME
报错的根本原因
报错信息说明两件事同时成立:
OA_HOME未设置(这本身是正常状态)- 工具安装目录下的默认 OA 路径(
<tool>/share/oa)中找不到有效的 OA binaries
这通常发生在通过 InstallScape 安装 Cadence 工具后只完成了第一步(Download & Install),没有运行第二步(Configure)。
InstallScape 安装分为两个阶段:
| 阶段 | 作用 |
|---|---|
| Download & Install | 安装工具主体文件 |
| Configure | 安装 OA binaries、配置 Stream Manager、License 等 |
跳过 Configure 步骤后,<tool>/share/oa 目录为空或缺失,工具启动时找不到 OA binaries,从而触发上述报错。
修复方法
方法一:重新运行 InstallScape 的 Configure(推荐)
打开 InstallScape,选择对应的工具条目,执行 Configure 操作。Configure 会依次完成:
- Stream Manager 的安装与配置
- OpenAccess 安装向导(安装 OA binaries 到
share/oa)
详细步骤参见 InstallScape User Guide 和 OpenAccess Configuration Guide。
方法二:直接运行工具自带的 OA 安装脚本
如果不需要配置 Stream Manager 等其他组件,可以只运行 OA 安装脚本:
1
/<path-to-tool-installation>/share/oaInstallers/oaConfig
运行后会在 share/oa 下生成所需的 OA binaries,软链接生效,报错即可消除。
总结
| 问题 | 答案 |
|---|---|
| OA binaries 是什么 | OpenAccess 数据库的运行时库,Cadence 所有现代工具(IC、PVS、Pegasus 等)依赖它读写设计数据 |
| 默认从哪里加载 | <tool_install>/share/oa(工具安装目录下的软链接) |
| OA_HOME 的作用 | 覆盖默认路径,强制指定 OA binaries 位置 |
| 是否应设置 OA_HOME | 不应在普通环境中设置,仅用于调试 |
| 报错的原因 | 安装后未运行 Configure,share/oa 下缺少 OA binaries |
| 修复方法 | 重跑 InstallScape Configure,或直接执行 share/oaInstallers/oaConfig |
参考资料
- Cadence Support Article (a1Od0000000na0zEAA): Is the OA_HOME variable really necessary?
- Cadence Support Article (a1O0V000006AhLfUAK): ERROR: $OA_HOME is not set and the Cadence installation does not seem to have a valid default OA installation
- Cadence InstallScape User Guide(随 InstallScape 发布)
- Cadence OpenAccess Installation and Configuration Guide(随各工具发布)