www.kxcad.net Home > Electronic Index > Altium(Protel) Index

Model Kind
General
Model Sub-Kind
Generic Editor
SPICE Prefix
A
Model Name
ONESHOT
SPICE Netlist Template Format
@DESIGNATOR %%vd(%1,%2) %%vd(%3,%4) %%vd(%5,%6) %%vd(%7,%8) @"DESIGNATOR"ONESHOT
.MODEL @"DESIGNATOR"ONESHOT oneshot (?cntl_array|cntl_array=[@cntl_array]| ?pw_array|pw_array=[@pw_array]| ?clk_trig|clk_trig=@clk_trig| ?pos_edge_trig|pos_edge_trig=@pos_edge_trig| ?out_low|out_low=@out_low| ?out_high|out_high=@out_high| ?rise_time|rise_time=@rise_time| ?rise_delay|rise_delay=@rise_delay| ?fall_delay|fall_delay=@fall_delay| ?fall_time|fall_time=@fall_time| )
Parameters (definable at component level)
The following parameters are definable for this model type and are listed in 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.
|
Clk_Trig |
- |
clock trigger value (Default = 0.5). |
|
cntl_array |
- |
control array (Default = 0). |
|
Fall_Delay |
- |
delay between receiving a valid trigger level and the output starting to fall from high value to low value (Default = 1.0e-9). |
|
Fall_Time |
- |
output fall time (Default = 1.0e-9). |
|
Out_High |
- |
output high value (Default = 1). |
|
Out_Low |
- |
output low value (Default = 0). |
|
Pos_Edge_Trig |
- |
positive (TRUE)/negative (FALSE) edge trigger switch. (Default = TRUE). |
|
Pw_Array |
- |
pulse width array. This value must be greater than or equal to zero. (Default = 1.0e-6). |
|
Rise_Delay |
- |
delay between receiving a valid trigger level and the output starting to rise from low value to high value (Default = 1.0e-9). |
|
Rise_Time |
- |
output rise time (Default = 1.0e-9). |
Notes
This model is used to output a single pulse, the width of which is determined by a user-defined piece-wise linear waveform and a controlling input.
The cntl_array parameter values are input coordinate points (progressively increasing), while the Pw_Array parameter values represent the corresponding pulse widths at those points. You could think of the function as being analogous to a look-up table, where the input signal (cntl pin of the device) amplitude is mapped to the corresponding input value in the cntl_array and then the Pw_Array value that this is paired with, is used as the width for the output pulse signal.
The amplitude of the pulse is determined by the values assigned to the Out_Low and Out_High parameters.
The output pulse is controlled by means of the clk input. When this input reaches the level assigned to the Clk_Trig parameter, the pulse is triggered, on either the rising or falling edge of the clock, in accordance with the setting of the Pos_Edge_Trig parameter.
Upon triggering, the output reaches its high value after time:
Rise_Delay + Rise_Time
and its initial value again after time:
Pulse Width + Fall_Delay + Fall_Time
The clr input to the device is used to reset the state of the function so that it is possible to retrigger and thus obtain another pulse. The clr signal must be higher than the Clk_Trig signal to achieve this.
The input signal can be either a differential current or differential voltage signal.
Examples

Consider the One-Shot function in the above image, with the following characteristics:
Pin1 (positive clk input) is connected to net clk1
Pin2 (negative clk input) is connected to net clk2
Pin3 (positive cntl input) is connected to net In1
Pin4 (negative cntl input) is connected to net In2
Pin5 (positive clr input) is connected to net GND
Pin6 (negative clr input) is connected to net GND
Pin7 (positive output) is connected to net Out
Pin8 (negative output) is connected to net GND
Designator is U1
cntl_array = 1 2 3 4 5 6 7 8 9 10 11
Pw_Array = 1u 2u 3u 4u 5u 6u 7u 8u 9u 10u 11u
Clk_Trig = 0.5
Out_High = 10
Out_Low = 0
Pos_Edge_Trig = TRUE
Rise_Delay = 40u
The entry in the SPICE netlist would be:
*Schematic Netlist:
AU1 %vd(CLK1,CLK2) %vd(IN1,IN2) %vd(0,0) %vd(OUT,0) AU1ONESHOT
.MODEL AU1ONESHOT oneshot (cntl_array=[1 2 3 4 5 6 7 8 9 10 11] pw_array=[1u 2u
+ 3u 4u 5u 6u 7u 8u 9u 10u 11u] clk_trig=0.5 pos_edge_trig=TRUE out_low=0
+ out_high=10 rise_delay=40u )
The effect of the function can be seen in the resultant waveforms obtained by running a transient analysis of the circuit:

Links
Controlled One-Shot (Single-Ended I/O)