从零跑通一次 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同步,请勿在站点侧修改)