DIVIDER - Divider (Differential IO)
Model Kind
General
Model Sub-Kind
Generic Editor
SPICE Prefix
A
Model Name
DIVIDE
SPICE Netlist Template Format
@DESIGNATOR %%vd(%1,%2) %%vd(%3,%4) %%vd(%5,%6) @"DESIGNATOR"DIVIDE
.MODEL @"DESIGNATOR"DIVIDE divide (?num_offset|num_offset=@num_offset| ?num_gain|num_gain=@num_gain| ?den_offset|den_offset=@den_offset| ?den_gain|den_gain=@den_gain| ?den_lower_limit|den_lower_limit=@den_lower_limit| ?den_domain|den_domain=@den_domain| ?fraction|fraction=@fraction| ?out_gain|out_gain=@out_gain| ?out_offset|out_offset=@out_offset|)
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.
Num_Offset | numerator offset (Default = 0). |
Num_Gain | numerator gain (Default = 1). |
Den_Offset | denominator offset (Default = 0). |
Den_Gain | denominator gain (Default = 1). |
Den_Lower_Limit | denominator lower limit (Default = 1.0e-10). |
Den_Domain | denominator smoothing domain (Default = 1.0e-10). |
Fraction | used to control whether the smoothing domain is specified as a fractional (TRUE) or absolute (FALSE) value. (Default = FALSE). |
Out_Gain | output gain (Default = 1). |
Out_Offset | output offset (Default = 0). |
Notes
This is a two-quadrant divider. It takes two inputs (one specified as the numerator, the other as the denominator) and processes them to obtain the output result as follows:
- The inputs are offset, in accordance with the values specified for the
Num_Offset
andDen_Offset
parameters. - The offset signals are then multiplied by the values for gain specified in the respective
Num_Gain
andDen_Gain
parameters. - The resulting values are divided
- The quotient is multiplied by the value specified for the
Out_Gain
parameter. - The output result is then offset in accordance with the value specified for the
Out_Offset
parameter.
The process can be expressed mathematically as follows:
Output = ((((Num + Num_Offset) * Num_Gain) / ((Den + Den_Offset) * Den_Gain)) * Out_Gain) + Out_Offset
The denominator is prevented from ever going zero by specification of a limiting positive value in the Den_Lower_Limit
parameter. This limit is reached through the use of a quadratic smoothing function, the domain of which is specified using the Den_Domain
parameter.
This model will operate in DC, AC and Transient analysis modes only. When running an AC Small Signal analysis, the results are only valid when one of the two inputs, not both, is connected to an AC signal.
The input signals can be either differential current or differential voltage signals.
Examples
Consider the divider in the above image, with the following characteristics:
- Pin1 (positive num input) is connected to net In1
- Pin2 (negative num input) is connected to net In2
- Pin3 (positive den input) is connected to net In3
- Pin4 (negative den input) is connected to net In4
- Pin5 (positive output) is connected to net Out
- Pin6 (negative output) is connected to net GND
- Designator is U1
- Out_Gain = 4
- All other model parameters are left at their inherent default values
The entry in the SPICE netlist would be:
*Schematic Netlist:
AU1 %vd(IN1,IN2) %vd(IN3,IN4) %vd(OUT,0) AU1DIVIDE
.MODEL AU1DIVIDE divide (out_gain=4)
The effect of the function can be seen in the resultant waveforms obtained by running a transient analysis of the circuit.
In this example, the following analysis parameters on the Transient/Fourier Analysis page of the Analyses Setup dialog have been used:
- Transient Start Time - set to
0.000
- Transient Stop Time - set to
50.00m
- Transient Step Time - set to
200.0u
- Transient Max Step Time - set to
200.0u