2.3.1 Circuits, Netlists, and Subcircuits
Hierarchical Netlist Entry
The flat netlist representation we used so far is usually sufficient for small analysis tasks with no more than a handful of circuit elements. Now imagine that we want to analyze active circuits like the transistor amplifier shown in Figure 3.1, and want to do several transfer function calculations with different transistor models. It would be rather inconvenient if we had to edit the netlist every time we select another semiconductor device model. Therefore, Analog Insydes provides a hierarchical netlist entry scheme which allows us to regard the transistor object as a black box with three terminals and lets us write a netlist for the circuit containing only a reference to the box but no specification of what's inside. Separately from this netlist, we can define one or more concrete realizations of the box in the form of equivalent (sub)circuits and let Analog Insydes automatically replace the reference by one of the subcircuit definitions.
Figure 3.1: Common-emitter transistor amplifier
The Circuit Object
When structured hierarchically, a circuit description comprises a top-level netlist with subcircuit or model references, and a set of subcircuit definitions.
Throughout this text, the terms "subcircuit" and "model" shall be used as synonyms because small-signal device models are effectively implemented as subcircuits composed of circuit primitives like resistors and controlled sources.
Keeping all netlist and subcircuit components of a circuit together is the task of the Analog Insydes data structure Circuit, whose content sequence may be any number of netlist and subcircuit definitions.
Circuit[
Netlist[top-level netlist with subcircuit references],
Model[subcircuit/model definition],
Model[subcircuit/model definition]
]
A Circuit object additionally may contain model parameters and global parameters, see ModelParameters and GlobalParameters.
When a Circuit object is defined, it is printed in short notation only. To view the entire circuit structure use the command DisplayForm.
|