AMSDInADE 教程解压与首次运行记录

日期:2026-10-04。用户授权解压并运行官方教程testbench。已经解压、验证原理图可读并尝试AMS批处理;实际失败在网表阶段,未进入联合仿真、未产生仿真波形。

教程和独立目录

原归档位于IC_Server:

/opt/eda/cadence/IC251/tools.lnx86/dfII/samples/tutorials/AMS/AMSDInADE.tar.gz

SHA-256:c1ad17cc49c5671f5aa18da2dad1df5742b7c06748069e10b5c9f324190737fe。

独立工作根为:

/home/userone/AAAIC/test_tb/digital_ic_learning/.tools/ams_tutorials/amsd_in_ade_20261004_he_3kf81/
目录 内容
source/AMSDInADE/ 原始解压快照,2394个文件逐个校验,运行后再次核对未变
work/AMSDInADE/ 可操作副本,含OA设计库、教学GPDK090、模型和ADE状态
attempt_01/ 实际runams日志、退出码和生成目录
inspect_oa.*、diagnostic.json 原理图批量读取和诊断结果

解压前检查归档成员:1294个目录、2394个普通文件,无软/硬链接;拒绝绝对路径、越界路径与特殊文件。每个文件按归档内容验证SHA-256。安装目录和既有GUI未改。

官方教程库、GPDK、模型正文和日志保持在Git忽略目录,未复制进仓库源码。10份诊断/日志/清单已用普通scp回收并SHA-256核验,位置为本地 results/ams_tutorial/amsd_in_ade_20261004_he_3kf81/。

真实testbench

项目 教程内容
设计库 amsPLL
顶层 PLL_160MHZ_sim
运行视图 config,顶层绑定schematic
ADE状态 ams_state1
保存的tran终止时间 2u
保存的参考频率变量 fREF=25M
原保存流程 OSS-based netlister、irun
原连接规则 connectLib/ConnRules_18V_full_fast
模型依赖 $TestDir/models/spectre/gpdk090.scs,section NN

顶层原理图已用独立virtuoso -nograph -nocdsinit -restore只读打开,退出0、出现AMS_TESTBENCH_INSPECTION_COMPLETE,确认22个实例,包括PLL、参考/控制脉冲、偏置源、供电及R/C。教学GPDK090加载成功;Virtuoso Framework License (111)签出成功,这不能证明AMS或Xcelium许可证可用。

库内还包含PLL的schematic/verilogams/behavioral视图、PFD、电荷泵、VCO、PDIV/MDIV及答案视图。仅确认结构和可读性,不认为各视图已编译、PLL已锁定或目标160MHz已测得。

实际执行与失败

在work/AMSDInADE中执行了以下批处理,使用独立run目录:

/opt/eda/cadence/IC251/bin/runams \
  -nocdsinit \
  -lib amsPLL -cell PLL_160MHZ_sim -view config \
  -state ams_state1 -cdslib ./cds.lib \
  -rundir ../../attempt_01/run -log ../../attempt_01/runams.log \
  -netlist all -simulate batch

实际argv中的cdslib/rundir/log使用绝对路径,保存在attempt_01_command.json;以上相对路径等价。runams版本IC25.1-64b.38,退出码255。日志先报告:

AMS-1172: The library 'connectLib' has not been defined
but has been referenced by the connect rules.

之后出现strcat ... nil和Failed to generate the netlist file。没有完整网表、编译/展开/仿真完成标记或波形,诊断状态为AMS_NOT_RUN。

runams会在工作副本的保存状态中删除两个旧环境选项noIrunInfoMsg/sst2usecolon;已核对这个变化,source快照保持一致。没有执行归档中的clean_up脚本或修改旧会话。

当前缺少的依赖

SSH PATH中未找到xrun/irun及对应编译、展开、仿真程序。进一步搜索当前/opt/eda/cadence安装树也未找到xrun/irun/xmsim/ncsim,IC251/SPECTRE251未发现connectLib/connect_lib目录。教程的inca.connectLib只有旧数据库标记,不是完整连接模块库;AMSHOME未设置。

现有Virtuoso/Spectre与AMS集成脚本不足以运行此RTL/模拟组合。其他磁盘位置仍可能有数字工具;不能把“当前安装树未找到”推为整台服务器绝对未安装,也不能把strcat nil单独归因为某一个环境变量。

继续运行需要完成什么

  1. 定位兼容的Xcelium/AMS安装和相应许可证。先确认实际xrun路径/版本与IC/Spectre兼容性,不能用假命令、Icarus或另一个纯模拟例子代替本教程的AMS结果。
  2. 在自己的批处理进程里配置数字工具路径与安装根,找到真实connect库;旧规则若继续使用,需正确cds.lib绑定。现代UCM/IE替代则按当前工具文档做完整迁移,不仅删除旧错误提示。
  3. 设置本进程TestDir为上述work/AMSDInADE,或在工作状态中把模型路径改为明确绝对路径并确认NN section可读。原有状态是OSS/irun,需评估迁移AMS UNL/xrun;不要在共享全局初始化文件中修改。
  4. 再跑独立网表/编译/展开/短tran,检查端口discipline、插入的接口元件及1.8V/阈值/阻抗/边沿设置。保留每阶段退出码和日志,确认实际波形后再评价PLL频率、锁定、控制电压和模型层次。

现在已有解压和可读的testbench,缺少仿真器/连接库依赖。基础 AMS入门 和现有 课程 可继续学习;本记录不登记AMS PASS。