跳转至

从零跑通一次 PLL 前仿

读者:第一次打开 Virtuoso / ADE-XL 的人。 前置:会开终端、会 cd,已能登录提交机 .28。 读完能做什么:自己跑完一次前仿,拿到结果目录,并判断这次结果体积正不正常。 环境锚点:Virtuoso IC617 + MMSIM 15.10(Spectre),工作区 /projects/design/rain01/proj1,test 为 pll45/pll_top/1;核实日期 2026-10-13。

三十秒版

cd 到项目目录 → 加载模块 → 启动 Virtuoso → 打开 ADE-XL 的 test → Run → 去 Interactive.N 目录看结果。第 1 步(先 cd)别跳过,否则日志会撒到家目录。

前置

  • 会开终端、会 cd、会看 ls。
  • 已能登录提交机(.28)。登录方式见环境技能 rainchen-env。
  • 已存在可用的 ADE-XL test(本项目是 test_lock)。

步骤

1. 先 cd 到项目目录(别跳过)

命令:

cd /projects/design/rain01/proj1

预期输出:没有输出就是成功;pwd 会显示这个路径。 失败的样子:No such file or directory → 你没在提交机上,或路径拼错。 为什么关键:Cadence 的 CDS.log 落在你敲命令时的目录。在家目录启动,日志就在家里堆着。

2. 加载工具模块

命令:

module load cadence && module load virtuoso/IC06.17.700

预期输出:无报错;which virtuoso 能打印出路径。 失败的样子:command not found → 两个 module 是两阶段,不能合并、也不能放进管道。

3. 启动 Virtuoso

命令:

virtuoso &

预期输出:弹出 Library Manager 窗口(能选库、选 cell)。 失败的样子:闪退或报 license 错 → 先看 CDS.log 最后几行,再查 license 是否可达(.29:5280)。

4. 打开 ADE-XL 与目标 test

在 Virtuoso 菜单里打开 ADE-XL(Assembler/XL),选中 test(本项目 pll45/pll_top/1)。 预期输出:ADE-XL 窗口打开,左侧能看到 test 名,右侧有 Data View / Outputs / Results 面板。 失败的样子:打不开或看不到 test → test 还没建好,先看 howto-adexl.md。

5. 检查两处设置(不做这一步,可能白跑)

  • Analyses:确认是 tran,stop 是你要的时长(本项目 1~10 µs)。
  • Outputs Setup:确认要看的几路信号
  • Plot 列 = 画到图上(不占盘)
  • Save 列 = 写进结果文件(占盘)

预期输出:表里有你点名的信号,且 Save 已勾。 失败的样子:表里空着 → 结果会全存所有节点,体积暴涨(见 concept.md)。

6. Run

点 ADE-XL 的 Single Run, Sweeps and Corners(Run)。 预期输出:状态栏出现运行中;每个仿真点被包成一个集群作业。 失败的样子:立即 sim err → 多数是模型库没挂或网表语法错,查 cheatsheet.md 错误码表。

7. 看结果

命令(在项目目录下):

ls -R design/pll45/pll_top/adexl/test_states/pll45/pll_top/spectre/pll45:pll_top:1_active/

预期输出:出现 Interactive.<N>/ 目录(N 递增),里面是这次运行的全部东西。 判断这次是否正常:看该目录体积。4 路白名单 1 µs 单点约 260~280 KB 算正常(见 concept.md)。

跑通后你能做什么

  • 你能独立跑完一次前仿,并知道结果落在哪个目录。
  • 你能判断"体积正常还是失控",从而决定能不能批量跑。

常见卡点

看到这行字 意思 怎么办
Unable to lock database file(SCH-1217/DB-270000) 无头跑出来的 cell 属主不是 rain01 用 runuser -u rain01;见 howto-adexl.md
结果目录几百 MB 起步 白名单没配,selected 退化成全存 去配白名单,见 howto-adexl.md
作业一直在排队 资源要超了单节点上限,或队列占满 见 cheatsheet.md
Unable to write to PMI_fd srun 注入了 MPI 变量 加 --mpi=none,见 incident.md

来源:/home/rain/Documents/eda_tools_ins/design/docs/kb/tutorial-first-sim.md | 最后更新:2026-10-13 00:46(由 build/sync.py 同步,请勿在站点侧修改)