跳转至

BASELINE — EDA 工具安装(Cadence 项目根)

稳定层:环境事实 / 机制性陷阱 / 命令速查 / 文档地图。不随轮次变化,故不注入、不随 HANDOFF 重写。 现状与待办见 HANDOFF.md;工程身份见 PROJECT-MAP.md;历次过程见各子工程 docs/SOP.md。

1. 环境事实

1.1 工具链(在用)

工具 版本 路径(客户端视角) 体积
Virtuoso IC 6.1.7-64b(IC617) /tools/cadence/virtuoso/IC617 9.3G
MMSIM 15.10.284(Hotfix 独立安装) /tools/cadence/mmsim/MMSIM151 4.7G
ASSURA 04.15.001-617 /tools/cadence/assura/ASSURA41 4.6G
Calibre 2015.2_36.27 /tools/mentor/calibre/aoi_cal_2015.2_36.27 5.2G
  • 实体位于宿主 dell-R620 的 /data/nfs/tools,六台经只读挂载可见。
  • 六台 = slurm .18/.19/.20 + lsf .25/.26/.27;四工具版本一致、验证通过。
  • Lmod 接入:/etc/profile.d/zzz_site_lmod.sh(csh 侧 zzz_site_lmod.csh)、/opt/modulefiles 入 fstab。

1.2 路径与属主

  • /tools、/pdk、/projects 为六台共享盘(/tools、/pdk 的 ro↔rw 人工开关)。
  • /projects/design/rain01/proj1/{cdssetup,design,verif,layout,signoff,release,docs}:2775 setgid、rain01:design。
  • 宿主未接 LDAP:属主须写数字 2001:2000;/projects 根不可写(设计如此)。
  • PDK:/pdk 含 NCSU CDK 1.6.0 + FreePDK45/15 与站点模板 templates/{.cdsinit,cds.lib};CDK_DIR 由 IC617 modulefile 下发。

1.3 模块加载(两阶段 + 跨厂商)

module load cadence   → module load virtuoso/IC06.17.700
module load siemens   → module load calibre/2015.2_36.27
  • 两阶段:先加载厂商家族(加入 MODULEPATH),再加载版本。
  • 跨厂商共存:cadence + virtuoso/IC06.17.700 + siemens + calibre/2015.2_36.27 四模块同屏 active,两 license 变量并存。
  • module load 不能放进管道。

1.4 license

  • Cadence 走 31.29 floating:5280@192.168.31.29(cdslmd 固定 5281);patch 与 license 服务并存。
  • 31.29 同机跑 Cadence(5280/5281) + Synopsys(2700/2701),变量隔离:Cadence 用 LM_LICENSE_FILE,Synopsys 用 SNPSLMD_LICENSE_FILE(混读会超时拖慢启动)。

2. 机制性陷阱

  • Rocky 9 适配五要素(缺一不可):libnsl 双架构、/lib/ld-lsb.so.3 与 /lib64/ld-lsb-x86-64.so.3 链接、/usr/lib64/libdl.so 链接、OA_UNSUPPORTED_PLAT=linux_rhel50_gcc48x、LD_PRELOAD=/lib64/libstdc++.so.6。
  • slurm module_env 默认只写不删;登记在 obsolete_module_file_dirs 的路径会被备份后清理(备份在 .16:/var/backups/slurm/modulefiles/),删条目时须同步登记。pdk_integration 仍只写不删(配置删条目不会自动消失,须显式删除)。
  • cadence 家族生成器 tools 现为空列表,Core/cadence.lua 入口必须保留;勿把 IC617 塞进生成器(会覆盖含 MMSIM+ASSURA 的组合 modulefile)。
  • PDK 模板两条硬坑:cds.lib 注释符是 --(用 ;; 会让被注释的 SOFTINCLUDE 仍执行);模板注释一律英文(Cadence 非 UTF-8 解析,中文会被 Skipping 刷屏)。
  • 站点模板已内置 NCSU opusUnix.il 覆盖 cd/ls 的修复(NCSU-OPUSUNIX-LS-FIX):/pdk/templates/.cdsinit 在 NCSU CDK 加载后把 cd/ls 重注册为普通 lambda,消除 ADE-XL ADEXL-5025 / ls: a nlambda must be defined…;新建项目复制模板即不复发。机制与证据见 pdk_integration_20260927/docs/SOP.md 附录 D。
  • 「六台」不覆盖提交节点:hpc-submit 提交节点需单独做 EDA 运行依赖(ksh + i686 运行库 141 包 + LSB/libdl 三链接 + libnsl.i686 + mesa-libGLU.x86_64);.16/.17 控制节点仍缺同款依赖。

3. 命令速查

  • PDK 集成工程(工程根下):.venv/bin/python main.py {precheck|apply|drift|verify}(apply 可 --dry-run;drift 退出码 0/1/2)。
  • patch 被覆盖:ic617_replay_20260927 下 .venv/bin/python main.py restore-patch。
  • license 日常三条(详 license_srv_20260926/docs/RUNBOOK.md):pgrep -ax 看进程;按名 pkill lmgrd / pkill cdslmd(勿 pkill -f);启动前归档 lmgrd.log。

4. 文档地图

目录/文件 管什么
eda_workspace_standard_20260927/ 项目区与工作流规范(用户名 / 家目录 / 项目区三者区别)+ 项目区目录创建 SOP 与台账
pdk_integration_20260927/ PDK 部署 + Calibre↔Virtuoso 集成(docs/SOP.md 八章、docs/RUNBOOK.md 场景 A–F、backup/README.md)
hpc_submit_eda_deps_20260927/ hpc-submit 补齐 EDA 运行依赖;含三层诊断链、dnf 回滚锚点、scratch/{diag_oa.sh,verify_ksh.sh}
ic25_cleanup_20260927/ IC25 遗留清除(docs/SOP.md、backup/README.md)
ic617_replay_20260927/ IC617 幂等复跑工程:docs/{SOP,RUNBOOK}.md、verify / drift / restore-patch
ic617_install_20260926/{docs,backup}/ 工具链安装档案:SOP.md(附录 A–D,D.7 = 幂等复跑实测)、RUNBOOK.md(六类故障场景)、备份台账
license_srv_20260926/docs/ FlexLM 服务档案:SOP.md、RUNBOOK.md(场景 A–F)
ic25_install_20260924/docs/ 【归档·IC25 已弃用】安装/卸载档案、HANDOFF(红线单一源)、RUNBOOK(已失效)
ic25_modulefile_lic_20260926/ 【归档·IC25 已弃用】modulefile license 变量 + 31.29 端口固定/防火墙取证
skill_rules_fix_20260926/ 文档规范修正:SOP.md + backup/
Cadence安装软件包/ 工具链原始介质(含 11.NCSU_pdk.zip,未选的 kit 仍在包内)
../../Synopsys/ Synopsys 介质(.spf 分卷 + 校验 + README)

跨工程指针:

  • Lmod family 作用域修正(跨厂商共存)→ ../../../slurm/slurm_ins/module_family_scope_20260927/SOP.md
  • csh 站点 Lmod 脚本补齐(九台同源;addto 不认 --prepend 的坑与 env -i 自检判据)→ ../../../slurm/slurm_ins/lmod_csh_profile_20260927/docs/SOP.md

来源:/home/rain/Documents/eda_tools_ins/Cadence/docs/BASELINE.md | 最后更新:2026-10-08 13:23(由 build/sync.py 同步,请勿在站点侧修改)