11.2.4. Analyses
Just like we added a simulator setup we can add analyses under the “Analyses”
tree item. We are going to explain in more detail how the operating point
analysis (named op
) is set up. Analysis names must be unique identifiers.
The first thing you need to enter is the name of the simulator used by the analysis. The simulator setup determines the simulator and the input netlist modules that you can use in this analysis. Under Simulator options you can specify the simulator options passed via the netlist. Any values specified here override the values specified in the simulator setup. The same holds for the netlist parameters specified for a particular analysis.
The op
analysis uses two input file modules: def
and tb
. The
first one defines the opamp subcircuit while the second one uses this
subcircuit definition in the top level circuit for adding subcircuit
instance x1
which represents the opamp. Note how we did not add the
MOS transistor models here. This is because we are going to add the models
when we will be defining the corners for the simulation of the circuit.
Typically device models are part of a corner definition because we want
to simulate the circuit’s performance for various extreme MOS models.
The Command entry is where you enter the function invoking the operating
point analysis (op()
).
Finally, Simulator output directives specify what quantities the simulator should save in the output file. By default these are node potentials and certain branch currents (i.e. the ones that flow through voltage sources and inductors). If you want to save anything else you shuld specify it here.
We first specify the Default
save directive which saves the above
mentioned voltages and currents. If we do not do this only the quantities
listed under save directives will be saved. The second save directive
specifies that the simulator should save the values of Vgs, Vth, Vds, and
Vdsat for all MOS transitors. This is done with the Device Property
save directive. For this directive one must specify a space-separated list
of instances and a space-separated list of quantities. You can use the
hash syntax for specifying these two lists. The expression can use the
variables defined under the Predefined variables node in the project tree.
The expressions are evaluated at simulation. In our example
ipath(mosList, 'x1', 'm0')
generates the list of simulator’s built-in MOS transistor instances corresponding to all MOS transistors in the circuits.
m0:xmn1:x1 m0:xmn2:x1 m0:xmn3:x1 m0:xmn4:x1 m0:xmn5:x1 m0:xmp1:x1 m0:xmp2:x1 m0:xmp3:x1
Similarly you can enter all other analyses. See Miller opamp design with PyOPUS for the details on other analyses.