1. ABM Sources
ABM (analog behavioral model) sources use mathematical and conditional expressions to set their output voltage or current. They may contain mathematical and conditional expressions that consist of circuit voltages, currents, time and other simulation parameters.
ABM is an extremely powerful feature which provides an efficient way to macro model signal processes through non-linear mathematical and conditional expressions. For instance, if you require a comparator for a PWM based circuit, instead of modeling the inner working of the comparator, the simple "if(Vin1 > Vin2, 10, 0)" expression can be used. ABM-based voltage and current sources are based on mathematical expressions of circuit voltages and currents.
This article identifies how to define equations in the analog behavioral model source using nodal voltages and currents defined in a circuit schematic. For more complex modelling please refer to the Additional Resources section at the end of this article.
Placing an ABM Source
The ABM source is available to define both a voltage or current. To place an ABM source:
Select Place >> Component.
To place an ABM voltage source, navigate to the Master Database, Souces group and then the CONTROLLED_VOLTAGE_SOURCES family.
Select the ABM_VOLTAGE component.
Click on the OK button, and place the component on the schematic.
To place an ABM current source follow the steps above except navigate to CONTROLLED_CURRENT_SOUCES family. Here, you will find the ABM_CURRENT component.
Setting the Value of an ABM Source
By default the ABM sources will be characterized by either a voltage of 1V, or a current of 1A. To view where this value is defined.
On your Multisim schematic double-click on the ABM source (either voltage or current source).
In the ABM source dialog box, select the value tab. Notice that the voltage (or current) value is set to 1.
It is in this value field that you can define a mathematical or conditional statement that will act as a stimulus in your circuit.
For example, let us consider the circuit defined below (figure 1)
Figure 1 - Example circuit with an ABM current source
In figure 1, you will notice an ABM_CURRENT source. Next to the current source you will notice a label (added by the designer) which indicates that this source will stimulate the circuit with a current in amperes of;
2*1m/(3.3 - 1) * (V(gate) - V(source))
In this expression V(gate) represents the nodal voltage at the gate (in Figure 1 - this is the net labelled with the word gate) and V(source) represents the nodal voltage at the source (in Figure 1 - this is the net labelled with the word source).
Building an ABM Expression by Referencing Circuit Voltages
An ABM expression utilizes node voltages relative to ground by using the syntax
V(<net name>) . The term
<net name> refers to the name of a net in a schematic. For example in our equation, we utilize the term V(gate) to utilize the value at the net named gate.
Alternatively you can build an expression that measure a differential node voltages using the syntax
V(<net name1>, <net name2>) , where the expression evaluates to the difference between nets
<net name1> and <net name2>.
Therefore, in our example in Figure 1 the expression - ((V(gate) - V(Source)) - defines the difference between the nets named source and gate in our circuit.
To enter this expression in an ABM_CURRENT source;
Repeat steps 1 - 4 above to place an ABM_CURRENT source.
On the Multisim schematic double-click on the ABM current source.
In the ABM source dialog box, select the value tab.
In the current value field enter the following string:2*0.001/(3.3-1)*(V(gate)-V(source))
Building an ABM Expression by Referencing Circuit Currents
Expressions may also be built using a current. A current in SPICE is defined as being a branch current through a voltage source element. Therefore in your expression, the current is the calcuated flow through a primitive SPICE voltage source that is placed on your schematic. In your expression, the current is therefore built using the syntax
<source type> is a single letter specifying the type of SPICE primitive source and
<refdes> is the schematic reference designator of that voltage source.
There are four primitive SPICE sources that can be referenced in an ABM current or voltage source (and thus defined in an expression by the <source type> syntax.)
- Independent source (which is referenced as a V source in <source type>)
- Voltage-Controlled Voltage-Source (which is referenced as an E source in <source type>)
- Current-Controlled Voltage-Source (which is referenced as a H source in <source type>)
- ABM source (which is referenced as a B source in <source type>)
Select Place >> Component
Browse to the Master Database, Sources group.
Select a primitive source in one of the various families.
- Click the Model button in the Select a Component dialog box. The component's SPICE template displays as in the example below (figure 2).
Figure 2 - Searching for the <source type> of a model
The first letter of the model template must be one of
B. This is the
Note: If the first letter is anything other than
B (e.g., the word
SUBCKTs), you may not reference the current passing through this component, and therefore it cannot be included in your ABM expression.
As you may have noticed in defining a current in an ABM source, we must first use some kind of primitive SPICE voltage source to help us define what that current will be as it flows through that source.
In the case that a circuit branch of interest, has no voltage source simply inserta 0 volt DC voltage source into that branch. You can now reference the current flowing through that branch without changing the simulation characteristics of your circuit.
Note: Positive current polarity is taken from the positive node to the negative node of the voltage source.
Figure 3 - ABM voltage sources referencing various primitive sources
2. Additional Resources
Multisim supports a rich set of operators and functions which can be used in expressions. For further details please dowload the Multisim User Guide from here.
Chapter 6.7 of the Multisim user guide, entitled Analog Behavioral Modeling and Controlled Source Syntax starting on page 6-45 provides details on:
Accessing net voltages and branch currents in ABM expressions (page 6-45)
ABM expressions - supported functions, operators, and constants (page 6-46)
Controlled Source SPICE Syntax (page 6-49)