Primitive Device Declarations
- Updated2026-03-24
- 2 minute(s) read
A primitive device is the lowest level model that can be used in a circuit and is a building block for macromodels and entire circuits. Multisim supports many such devices.
This section looks at how a primitive device is declared and used in a circuit.
Primitive devices are comprised of either just an instance declaration or an instance declaration with an associated model definition.
Instance Declaration
The instance declaration places a primitive device between circuit nodes, specifies device parameters, and links the instance to a model definition (where needed). The instance declaration has the following general format:
PREFIX_ anyname node1 < node2 < … >> my_ModelNAME Instance_line_parameters
| Identifier | Description |
|---|---|
| PREFIX | Device specific character. |
| _anyname | Arbitrary instance name suffix. |
|
|
The name of the Nth node that the device is connected to. Node names may contain any characters except for white space and the following: \ {} () [] : # " ' ; , % < > ` & = * |
| my_ModelNAME | Arbitrary name that links the instance declaration to a model definition. It is optional for some devices is and mandatory for others. |
| Instance_line_parameters | A list of device specific instance parameters, some of which are mandatory and some optional. |
Model Definition
Required for some primitive devices and optional for others, the model line allows users to specify additional parameters for a device. The model line has the following format:
.model my_ModelNAME <AKO:akomodelname>devicename(<Model_Parameters>)
| Identifier | Description |
|---|---|
| my_ModelNAME | Arbitrary model identifier that links the model definition to one or more instance declarations. |
| akomodelname | Model identifier from which specified model parameters will be inherited. |
| devicename | Device-specific identifier. |
| Model_Parameters | List of device-specific model parameter assignments. Note that every model parameter of every device has a default value. Assignments made in the Model_Parameters block overwrite these defaults. |
Examples
*Resistor device without its optional model line
R88 1 0 10k tc1=0.1 tc2=5
*Resistor device with its optional model line
R15 in8 out myResmodel 10k
.model myResmodel res(rmult=5)
*A BJT with area factor of 8
*and BJT with an area factor 4
Q54 99 b 0 BJTer area=8
Q55 e b 0 BJTer area=4
.model BJTer npn(is=1e-12 bf=140 rc=3 tf=3n)
*MOSFET M1 will inherit
*kp=1e-3 phi=0.76 mj=0.44 ld=0.1u
M1 1 4 9 9 myMOS1
.model myMOS1 AKO:myMOS2 nmos(vto=1.4)
.model myMOS2 nmos(kp=1e-3 phi=0.76 mj=0.44 ld=0.1u)