Virtuoso 中直接运行 Spectre 脚本

前言

前面我在 LTspice 中运行了 SPICE 脚本,现在想运行它的加强版 Spectre,但我发现直接运行 Spectre 是挺麻烦的,因为它已经和 Virtuoso 集成在了一起。如果想在 Virtuoso 中单独运行 Spectre 脚本也不是不行,就是得先了解 ADE L 的设计逻辑:

ADE L 只能“附着”在一个 schematic testbench 上工作

ADE L(Cadence Advanced Design Environment L),是virtuoso定制设计平台的入门级模拟设计仿真环境,不是一个纯 netlist runner。它必须先 netlist 一个 schematic,再允许你附加 simulation files(include / model / stimulus)。相当于是我们想直接运行 Spectre 脚本仿真就必须先得有个“宿主”,即新建一个什么都没有的 schematic testbench,让 ADE L 指向这个 schematic,再在 ADE L 中 include 我们的 spectreText,最后再运行。

为什么 Cadence 要这么“反人类”?

ADE L 是 90 年代的产物,设计假设是:所有仿真都来自 schematic。

后来才补丁式加了:

  • spectreText
  • Verilog-A
  • include files

所以它永远不允许“没有 schematic 的仿真”,这也是为什么 ADE Explorer / Assembler 会更现代、更灵活。

虽然以后几乎用不上单独跑 Spectre 脚本,但还是要走一下流程,也算是对 Spectre 入个门。


新建 SpectreText 和 Schematic

新建一个 Cellview,并在 Type 里选择 Spectre

新建SpectreText

然后写一个 Spectre 脚本并保存

简单的Spectre脚本

这是一个用脉冲源驱动的一阶 RC 低通滤波器的 Spectre 顶层 testbench,通过 DC + transient 分析观察其时间响应,并显式保存输入/输出节点。

再新建一个 Schematic,什么都不用放,直接检查并保存下来。

检查并保存

设置仿真环境

在该 Schematic 视图下,点击 Launch 的 ADE L,就能启动默认指向该 Schematic 的 ADE L 仿真环境了。

在 ADE L 中 Setup Simulation Files,并在 Definition Files 中设置 Spectre 脚本的路径

设置仿真文件 找到Spectre脚本位置

这些都设置好后,在 Virtuoso 的初始界面打开 ViVA XL 结果浏览器,此时还没有任何结果(左边 Browser 栏为空)

打开ViVA查看结果 ViVA浏览器

最后在 ADE L 窗口点绿色三角运行即可。


查看仿真结果

运行后,我们会看到左边蹦出来一个窗口,这个是仿真日志,生了 PSF 文件,说明仿真运行了并产生了结果。由于 ADE L 没有指定结果绘图,因此我们无法直接在 ADE L 里查看结果,只能用刚刚打开的 ViVA 来查看结果情况。

刚好,我们发现 ViVA 中多了个 psf 的结果文件

仿真日志 ViVA中产生了PSF结果文件

点击 tran 文件夹下的 in 和 out,就能在右边窗口绘出瞬态仿真下,输入和输出的结果图,这刚好就是低通滤波器的结果。

查看Spectre脚本运行的结果