在使用某一工艺中,扫描 gm-Id 所需曲线时,发现无法使用 Save Operating Points 选项保存所需的 DC 工作点扫描结果,表现为 Select OP Parameters 仅有数项结果:

但是,使用 Results->Print->DC Operating Points 却可以打印出具体的参数:

针对这种情况,本文将会给出具体的解决思路与解决方法。


问题定位

既然我们无法直接使用 Save Operating Points 选项保存,那么我们先从结果入手。打开 Results Browser,发现在 dcOpInfo 结果中存在具体的结果数据,但是位于 M0.main 层级下:

因此,考虑是否是这一级 main 的差异导致 DC 点不能被正常保存,再次查看 DC Operating Points,发现 M0 顶层下确实只有前文所述的几个 DC 结果,同时 M0.main 下则是所有的结果:

因此,问题是 foundry 提供的 spectre model 文件中,对模型的描述存在 main 这一子层级,同时软件默认取顶层的结果,导致无法默认取得子层下的 DC 仿真结果。


问题解决方案

由于问题出在模型存在子层级上,我们首先尝试使用 M0.main 这一完全限定名称来提取 DC 扫描结果,发现表达式返回空值,考虑是指定的 DC 扫描结果没有保存:

因此,尝试使用完全限定名称,在 Outputs 窗口设定输出并勾选保存:

但是,该方式并不能正确的将结果保存并输出,表现为仿真结束后无结果窗口弹出。

查阅 How to Save DC Operating Points’ Parameters of a MOSFET in Cadence 后,编写 save.scs,并将其添加到 Model Libraries 中,文件内容如下:

save M0.main:oppoint

再次进行仿真。此次,仿真结果被正确输出:

同时,查看 Results Browser,DC Sweep 的结果也被正确保存。