在使用 Spectre(或 Spectre FX FastSPICE)做瞬态仿真时,常见的两个痛点是:psf 目录体积爆炸,以及如何在 Spectre FX 中正确启用 strobeperiod 抽点。本文整理自 Cadence ASK 两篇技术文档,给出可直接落地的解法。
一、为什么 psf 目录会变得很大?
默认情况下 ADE 会保存电路中所有节点的电压。一个层次较深、信号节点数量庞大的电路跑完一次 tran,psf 目录轻易就能达到几十 GB。下面四种方法可以分层次地控制输出数据量。
二、减少 Spectre 瞬态仿真数据的四种方法
方法 1:只保存 ADE Outputs 中的信号
进入 Outputs → Save All,将 Select signals to output (save) 改为 selected。
这样 Spectre 只写出你在 ADE Outputs 面板里手动添加的那些节点,其余一概丢弃,通常是最立竿见影的减量手段。
方法 2:skipcount — 每隔 N 个时间点保存一次
在 Transient Options 表单(Setup → Simulator → Options → Transient)里设置 skipcount。
- 填
skipcount=5表示每 5 个仿真时间步只写 1 个数据点; - 常用范围:2 ~ 10,根据信号变化速率决定;
- 适合对波形精度要求不高、只关心低频趋势的场景。
也可以在 netllist / OCEAN 脚本里直接写:
tran_opts tran skipcount=5
方法 3:通配符 save 语句 — 精确控制保存层次
如果 ADE Outputs 面板的灵活度不够(信号太多、层次太深),可以用 Spectre 的 save 命令加通配符。
查看语法:
1
spectre -h save
示例 save 文件(my_save_signals.scs):
; 保存名称以 x 开头、以 1 结尾、层次 2~3 的节点电压
save x*.*1 depth=3
; 保存同一命名规则下所有子电路的端口电流
save x*.*1 sigtype=subckt
如何挂载到 ADE:
在 ADE 中进入 Setup → Model Libraries,把这个 .scs 文件加进去即可,Spectre 会自动 include。
方法 4:compression=all — 开启数据压缩
在 tran options 里加上:
compression=all
对输出波形数据进行无损压缩,适合数据点密集但信号变化平缓的场景。
三、Spectre FX 中使用 strobeperiod
Spectre FX 是 Cadence 的 FastSPICE 仿真器,支持大多数 strobeperiod 相关选项,但有几个例外需要注意。
命令行写法
与标准 Spectre 完全相同:
AnalysisStrobe1 tran skipstart=5 skipstop=20 strobeperiod=10 strobedelay=2
支持情况一览
| 选项 | Spectre FX 支持 |
|---|---|
skipstart / strobestart |
✅ 支持 |
skipstop / strobestop |
✅ 支持 |
strobeperiod / strobestep |
✅ 支持 |
strobedelay |
✅ 支持 |
strobefreq |
✅ 支持 |
strobeoutput=strobeonly/all |
✅ 支持(默认 strobeonly) |
skipcount |
❌ 不支持 |
strobeoutput=none/faulttimes |
❌ 不支持 |
skipcount在 Spectre FX 中不可用,想在 FastSPICE 场景下减少数据点,应改用strobeperiod。
在 ADE 中启用
在 Transient Options 窗口里直接填写 strobeperiod 相关参数即可,无需手动改 netlist。
搭配 preset 模式(lx / ax)
strobeperiod 对所有 Spectre FX 预设模式均有效,例如:
option sfx_speed=lx inst=x1.x1
.option sfx_speed=ax inst=[x1.x2 x1.x3]
上述分区中 strobeperiod 均会生效。
版本要求
要让 ADE 在 Spectre FX netlist 中正确写出 strobe 选项,需要 IC 6.1.8 ISR23 或更高版本。更早的 ISR 版本不会把 strobe 参数写入 Spectre FX 的 netlist,导致选项静默失效。
四、总结对比
| 场景 | 推荐手段 |
|---|---|
| 快速减量、不改仿真精度 | Outputs → selected(方法 1) |
| 接受精度损失、极致压缩时间步 | skipcount(仅标准 Spectre) |
| 精细控制保存层次与信号范围 | 通配符 save 文件 |
| Spectre FX 减少抽点 | strobeperiod |
| 波形文件体积大但点数合理 | compression=all |
合理组合以上方法,可以在保证分析精度的前提下将 psf 目录大小压缩到原来的几分之一。
参考来源(Cadence ASK,需登录):