BISRC - Non-Linear Dependent Current Source Model
Model Kind
Current Source
Model Sub-Kind
Equation
SPICE Prefix
B
SPICE Netlist Template Format
@DESIGNATOR %1 %2 I=@EQUATION
Parameters (definable at component level)
The following component-level parameters are definable for this model type and are listed on the Parameters tab of the Sim Model dialog. To access this dialog, simply double-click on the entry for the simulation model link in the Models region of the Component Properties dialog.
Equation | expression defining the source waveform. |
Notes
- Standard SPICE non-linear dependent current source. This source is sometimes called an Equation-defined source, as the output is defined by a user-defined equation, often referencing currents through other sources, or voltages at other nodes, in the circuit.
- The current waveform is described by:
I = expression
where,
expression
is the user-defined equation entered in the corresponding Equation parameter field.
- The following standard functions can be used to create the expression:
ABS() | absolute value function. ABS(x) returns the value of |x|. |
LN() | natural logarithm function, where LN(e) = 1. |
SQRT() | square root function. |
LOG() | log base 10 function. |
EXP() | exponential function. EXP(x) returns the value of 'e raised to the power of x', where e is the base of the natural logarithms. |
SIN() | sine function. |
ASIN() | arc sine function. |
ASINH() | hyperbolic arc sine function. |
SINH() | hyperbolic sine function. |
COS() | cosine function. |
ACOS() | arc cosine function. |
ACOSH() | hyperbolic arc cosine function. |
COSH() | hyperbolic cosine function. |
TAN() | tangent function. |
ATAN() | arc tangent function. |
ATANH() | hyperbolic arc tangent function. |
U() | unit step function. Returns a value of 1 for arguments greater than 0 and a value of 0 for arguments less than 0. |
URAMP() | unit ramp function. Integral of the unit step: for an input x, the value is 0 if x is less than 0, or if x is greater than 0, the value is x. |
The following standard operators are supported:
+ | addition operator |
- | subtraction operator |
* | multiplication operator |
/ | division operator |
^ | power operator. y^x returns the value of 'y raised to the power of x' |
unary - | unary minus operator. unary -x returns -x |
- To reference in an equation the current through a source in your circuit, you must use the source designator defined in the designator field of the source's Component Properties dialog using the following syntax:
I(SRC) - references the current through source SRC
- You can also reference voltages in expressions. For example, if you have a node in your circuit labeled with a Net Label called
IN
, then the following would be valid entries in the Equation parameter field of the source:
I(IN)^3
COS(V(IN))
- By default, the node is referenced to the Spice Reference Net Name, specified on the Spice Options page of the Analyses Setup dialog. This is GND by default. You can include a different reference node directly in the equation using the following syntax:
V(netlabel1, netlabel2)
For example:
LN(COS(LOG(V(NetLabel1,NetLabel2)^2))) - V(NetLabel2)^I(NetLabel1)
- If the argument of a LOG(), LN(), or SQRT() function becomes less than zero, the absolute value of the argument is used.
- If a divisor becomes zero or the argument of log or ln becomes zero, an error will result. Other problems may occur when the argument for a function in a partial derivative enters a region where that function is undefined.
- The simulation-ready non-linear dependent current source component (
BISRC
) can be found in the Simulation Sources integrated library (\Library\Simulation\Simulation Sources.IntLib
).
Examples
Consider the non-linear dependent current source in the above image, with the following characteristics:
- Pin1 (positive) is connected to net
N7
- Pin2 (negative) is connected to net
N9
- Designator is
BB
- Equation =
I(VB)*10.61E6-I(VC)*10E6+I(VE)*10E6+I(VLP)*10E6-I(VLN)*10E6
The entry in the SPICE netlist would be:
*Schematic Netlist:
BB N7 N9 I=I(VB)*10.61E6-I(VC)*10E6+I(VE)*10E6+I(VLP)*10E6-I(VLN)*10E6