本文汇总了相关工具中常用环境变量的作用与用法,适合 EDA 工具管理员和进阶用户参考。所有资料均参考自 Cadence 官方支持文档。
一、.cdsenv 加载控制
CDS_LOAD_ENV
控制 Virtuoso 启动时 .cdsenv 文件的加载位置。
默认情况下,Virtuoso 按照 CSF(Cadence Setup File)机制搜索 .cdsenv,搜索顺序依次为:当前目录、$HOME、工具安装目录(详见 setup.loc)。
| 值 | 效果 |
|---|---|
CWD |
仅从当前工作目录加载 .cdsenv,不再搜索 $HOME |
| (不设置) | 按 CSF 默认顺序搜索 |
1
setenv CDS_LOAD_ENV CWD
适用场景:多项目并行工作时,希望每个项目目录使用独立的 .cdsenv 配置,而不受 $HOME 下全局设置影响。
参考:Cadence Support Article 11457554: “How to load Cadence setup files from current directory instead of $HOME”
二、许可证相关变量
CDS_LIC_FILE
指定 Cadence FLEXnet 许可证服务器地址,是最重要的许可证环境变量之一。
1
2
3
setenv CDS_LIC_FILE 5280@<server_name>
# 多服务器用冒号分隔(Linux/Unix)
setenv CDS_LIC_FILE 5280@server1:5280@server2
- 端口号通常为
5280(Cadence 默认),也可使用其他端口 - 如果不设置此变量,工具会尝试从其他途径(如
cdslmd.dat)找到许可证服务器
CDS_LIC_TIMEOUT
设置工具等待许可证的超时时间(单位:秒)。默认值为 10 秒。
1
setenv CDS_LIC_TIMEOUT 180
适用场景:许可证服务器负载高或网络延迟大时,工具默认 10 秒未获得许可证就会报错(error -15: Cannot connect to license server system)。增大此值可避免该问题。
参考:Cadence Support Article a1Od0000000sbWnEAI: “How to configure and debug license issues”
三、32位/64位模式控制
CDS_AUTO_64BIT
控制 Cadence 工具是否以 64 位模式启动。默认不设置时,工具以 32 位模式运行(通过 wrapper 脚本调用 /bin/64bit/ 下的可执行文件)。
| 值 | 效果 |
|---|---|
ALL |
所有工具均使用 64 位 |
NONE |
所有工具均使用 32 位 |
"tool1 tool2" 或 INCLUDE:"list" |
仅指定工具使用 64 位 |
EXCLUDE:"list" |
除列出工具外,其余均使用 64 位 |
常见示例:
1
2
3
4
5
6
7
8
9
10
11
# 全部 64 位
setenv CDS_AUTO_64BIT ALL
# Spectre 用 64 位,si(Open Simulation System)用 32 位
setenv CDS_AUTO_64BIT EXCLUDE:"si"
# 只让 UltraSim 用 64 位
setenv CDS_AUTO_64BIT ultrasim
# Xcelium 用 64 位
setenv CDS_AUTO_64BIT INCLUDE:XCELIUM
参考:Cadence Spectre Circuit Simulator User Guide(各版本);Cadence Virtuoso UltraSim Simulator User Guide(IC25.1);Cadence Virtuoso ADE Explorer User Guide(IC25.1)
四、网表模式控制
CDS_Netlisting_Mode
控制 Cadence 工具的网表输出模式(Netlisting Mode)。默认值为 Digital(未设置时)。
| 值 | 效果 |
|---|---|
Analog |
启用模拟网表模式:属性查找包含 CDF 数据;AMS、Spectre、APS、UltraSim 仿真时自动设置此模式 |
Digital(默认) |
启用数字网表模式:不查找 CDF 数据,网表性能更快 |
1
setenv CDS_Netlisting_Mode Analog
注意事项:
CDS_Netlisting_Mode设置为Analog时,Symbol 标签(Label)的属性查找逻辑也会不同- 在
Virtuoso Custom Digital Placer等工具中,可切换到Digital以获得更快的网表速度 - AMS 仿真工具在执行 runset 前会自动将此变量设为
Analog
参考:Cadence Virtuoso Custom Digital Placer User Guide(IC25.1);Cadence Virtuoso Schematic Editor User Guide(IC25.1);Cadence STEP What’s New in STEP 01.05
五、Verilog-A / AHDL 编译
CDS_AHDL_REUSE_LIB
控制 Verilog-A 模型编译时是否复用(reuse)已有的共享库文件(shared library)。
| 值 | 效果 |
|---|---|
YES(compact model 默认) |
自动搜索已有共享库并复用,节省重复编译时间 |
NO(normal model 默认) |
不复用,每次重新编译 |
1
setenv CDS_AHDL_REUSE_LIB NO
适用场景:
- 并行仿真(
+aps、++aps、+xps、+ms模式)时,多个进程同时使用共享库可能引发冲突,此时建议设为NO - Liberate AMS 多任务并行运行时,官方推荐设为
NO
参考:Cadence Verilog-A Language Reference(25.1);Cadence Spectre Circuit Simulator Reference(25.1);Cadence Liberate AMS Mixed-Signal Characterization Reference Manual(LIBERATE 23.1)
六、版图 Fluid Guard Ring(FGR)缓存
FGR_CACHE_TIMESTAMP_CHECK
与 Virtuoso Layout 中 Fluid Guard Ring(FGR) 的缓存机制相关。
FGR 实例在首次评估(evaluate)后会将结果缓存为 sub-master(包含 index.pcl 和 cache.pcl)。当 sub-master 与 super-master 之间出现时间戳不一致(timestamp mismatch)时,Virtuoso 的默认行为是直接使用旧缓存,不重新评估。
设置此变量后:
1
setenv FGR_CACHE_TIMESTAMP_CHECK 1
Virtuoso 将忽略已保存的 sub-master,在时间戳不匹配时用当前版本的 Virtuoso 重新评估 FGR 实例,确保缓存与最新版本一致。
另一相关变量:
FGR_REEVAL_ON_CORRUPT_CACHE:当 index.pcl 存在但 cache.pcl 读取失败(损坏)时,设为 true 可触发自动重新评估,而不是报错中止。
参考:Cadence Support Article a1O3w000009bdqUEAQ(FGR 缓存机制相关)
七、Voltus-Fi 功耗完整性
CDS_MMSIM_VOLTUSFI_ROOT
指定 Voltus-Fi Custom Power Integrity Solution 的安装路径,用于在 Virtuoso(IC)环境与 Spectre/MMSIM 环境中同步 Voltus-Fi 版本。
1
2
3
setenv CDS_MMSIM_VOLTUSFI_ROOT /path/to/installation
# 最常见的用法:与 CDSHOME 保持一致
setenv CDS_MMSIM_VOLTUSFI_ROOT $CDSHOME
不设置此变量时,Voltus-XFi 会从 Spectre 安装目录调用 emirreport,而非 Virtuoso 安装目录,当两者的 OA 版本不一致时会触发以下错误:
1
2
ERROR: Requested minor API version '623' which is supported by OpenAccess build '22.60.065'
is newer than the minor API version '619' of the shared library...
以及 EMIR-1901 错误。
参考:Cadence Support Article 20504400: “Voltus-XFi errors out with API version mismatch”;Cadence Voltus-Fi Custom Power Integrity Solution XL User Guide(IC23.1)
八、工具安装根目录
CDSHOME
指向 Cadence 工具安装根目录,是许多工具脚本和配置文件的基础路径变量。
1
setenv CDSHOME /path/to/cadence/IC6.1.8/lnx86
典型用途:
$CDSHOME/tools/bin/— 工具可执行文件目录$CDSHOME/share/license/configure— 许可证配置脚本- 与
CDS_MMSIM_VOLTUSFI_ROOT联用:setenv CDS_MMSIM_VOLTUSFI_ROOT $CDSHOME
参考:Cadence Support Article a1Od0000000sbWnEAI: “How to configure and debug license issues”
九、OpenAccess 插件路径
OA_PLUGIN_PATH
OpenAccess(OA)标准环境变量,指定 OA 插件(Plugin)的搜索路径。不同 Cadence 工具可能依赖不同的 OA 插件来访问设计数据库(如 lib.defs 插件、Express Pcell 插件等),OA 运行时会在此变量指定的目录下查找所需插件。
1
2
# EDI/Innovus 工具使用 lib.defs 插件时的示例
setenv OA_PLUGIN_PATH <install_hierarchy_root>/share/oa/data/altplugins
典型使用场景:
- 在 EDI(Encounter Digital Implementation)或 Modus 工具中创建 OA22 数据库,需要 lib.defs 插件
- 在 Unity 工具导入 OA 设计时,配置 Express Pcell 插件以生成 Pcell sub-master
- 在 OrCAD/Allegro 安装配置阶段设置工具所需的 OA 插件路径
参考:Cadence Modus: Guide: Diagnostics — Creating an OA22 Database(25.12);Cadence Support Article 20518114: “Unity Open Access Express Pcell Plug-In”;Cadence OrCAD and Allegro 17.4-2019 Installation Guide for Windows
十、Design Management 版本管理集成
CDS_PROMPT_CKIN / CDS_PROMPT_CKOUT
当 Virtuoso DFII 环境与设计管理软件(Design Management Software,如 SOS、Synchronicity 等)集成后,打开 cellview 时会弹出 checkout 确认框,关闭时会弹出 checkin 确认框。这两个变量控制是否弹出该确认对话框。
| 变量 | 含义 |
|---|---|
CDS_PROMPT_CKIN |
控制 checkin(存回)时是否弹出提示框 |
CDS_PROMPT_CKOUT |
控制 checkout(取出)时是否弹出提示框 |
| 值 | 效果 |
|---|---|
none |
不弹出提示框,静默执行 |
| (其他值) | 弹出提示框,由用户确认 |
CDS_AUTO_CKIN / CDS_AUTO_CKOUT
控制 checkin/checkout 的自动执行行为。
| 变量 | 含义 |
|---|---|
CDS_AUTO_CKIN |
控制关闭 cellview 时是否自动 checkin |
CDS_AUTO_CKOUT |
控制打开 cellview 时是否自动 checkout |
| 值 | 效果 |
|---|---|
all |
对所有 cellview 自动执行,无需用户逐个确认 |
实现”永不询问、自动执行”的完整设置(在 .cshrc 中配置):
1
2
3
4
setenv CDS_PROMPT_CKIN none
setenv CDS_PROMPT_CKOUT none
setenv CDS_AUTO_CKIN all
setenv CDS_AUTO_CKOUT all
注意:这些变量必须在 Shell 层面设置(
.cshrc等),不能通过.cdsinit中的setShellEnvVar()设置,否则不会生效。等效的 SKILL 方式是在.cdsinit中调用ddAutoCtlSetVars(0 0 3 3)。
参考:Cadence Support Article a1Od0000000nY8VEAU: “How to set the default auto checkin and checkout preference to be ‘Never Ask Me’?”;Cadence Library Manager User Guide(Changing Auto Check-In/Check-Out Environment Variable Settings)
参考资料
- Cadence Support Article 11457554: “How to load Cadence setup files from current directory instead of $HOME”
- Cadence Support Article a1Od0000000sbWnEAI: “How to configure and debug license issues”
- Cadence Support Article 20504400: “Voltus-XFi errors out with API version mismatch and does not generate EMIR results”
- Cadence Support Article a1O3w000009bdqUEAQ(FGR 缓存时间戳相关)
- Cadence Support Article a1Od0000000nY8VEAU: “How to set the default auto checkin and checkout preference to be ‘Never Ask Me’?”
- Cadence Spectre Circuit Simulator Reference(25.1): Verilog-A / CDS_AHDL_REUSE_LIB 章节
- Cadence Virtuoso Custom Digital Placer User Guide(IC25.1): Setting the Netlisting Mode
- Cadence Virtuoso UltraSim Simulator User Guide(IC25.1): 64-bit 章节
- Cadence Voltus-Fi Custom Power Integrity Solution XL User Guide(IC23.1): CDS_MMSIM_VOLTUSFI_ROOT 章节
- Cadence Modus: Guide: Diagnostics(25.12): Creating an OA22 Database / OA_PLUGIN_PATH
- Cadence Support Article 20518114: “Unity Open Access Express Pcell Plug-In”