Controlled One-Shot (Differential I/O)

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


Your Ad Here

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:

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)

The Netlist Template - Explained

XSPICE models

Simulation Models