Page 21 from 216
Creating a New User-Compiled Model 1-15
You can also set some optional values on the Options page. These include:
• A description for the component
• The library to insert the component
• Any associated layout artwork and macros
• An attribute to have the component counted in the Bill of Materials
• Specifying an alternate text editor
By setting an alternate text editor you can use something besides the dialog
box's limited text editor. Note that if you choose to use an external editor, it is
up to you to save your files before compiling.
Page 22 from 216
1-16 Creating a New User-Compiled Model
Building User-Compiled Analog Models
Once compiled, the model is immediately available to the design environment. Go
back to a schematic window (by closing the ModelBuilder dialog or just changing
windows) and open the Library browser. The model will be available in the My
Circuit Library (unless the library was changed on the Options page).
When you insert the component onto a schematic, it will look just like any other
Page 23 from 216
Creating a New User-Compiled Model 1-17
Page 24 from 216
1-18 Characteristics of User-Compiled Elements
Building User-Compiled Analog Models
Characteristics of User-Compiled Elements
An unlimited number of user-defined elements in any number of C modules can be
written, compiled and linked to your circuit simulator program. Linear elements can
have up to 99 external pins, while nonlinear and transient elements can have any
number of external pins and internal nodes.
An element without external pins is treated as a Model Form that has no electrical
characteristics. Other elements can refer to this Model Form to obtain parameter
Element names and parameter keywords are limited to alphanumeric characters and
the underscore character. Names cannot begin with a numeric character. In addition,
a leading underscore is not recommended as this can interfere with the built-in
variables. Any number of parameters of arbitrary type (integer, real, string or Model
Form reference) are allowed for each element. A Model Form reference can refer to
either a built-in or a user-defined Model Form.
For use in DC and frequency-domain simulations, an element can have either a linear
or nonlinear model. Either type of element can have a transient model for use in a
Linear and noise analysis responses of elements are computed in the frequency
domain. The linear response can be computed either in complex scattering matrix or
admittance matrix form. The noise response must be computed in complex current
correlation matrix form. A user-defined linear element can call most any existing
linear element to obtain its response.
Pre- and post-analysis entry points during program execution are provided to enable
such calls and to perform special operations, such as data file reading and memory
Page 25 from 216
Characteristics of User-Compiled Elements 1-19
Nonlinear element response is computed in the time domain at a sequence of time
samples. Time-to-frequency transformations are computed in the circuit simulator
engine and are transparent to the user. Element response is characterized by a set of
instantaneous (nonlinear) currents out of each pin, nonlinear charges at each pin and
their respective derivatives, all determined by applied pin voltages.
The user’s computation functions cannot call other nonlinear elements for their
responses. Element models with time-delay dependencies are supported.
Transient element response is computed in the time domain. Element response is
characterized by a set of instantaneous (nonlinear) currents out of each pin,
nonlinear charges at each pin and their respective derivatives, all as determined by
applied pin voltages. Transient computation functions cannot call other elements
(except for ideal resistors, capacitors, inductors and transmission lines) for their
Convolution element response can be computed in two ways. One way is to use a
linear model frequency response function so that the circuit simulation engine can
compute the time-domain impulse response. Alternatively, specific nonlinear
transient element response code can be used.