ONESHOTR - Controlled Oneshot (Differential IO)

Old Content - visit altium.com/documentation

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 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.

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. 

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 100.0u
  • Transient Step Time - set to 20.00n
  • Transient Max Step Time - set to 20.00n
You are reporting an issue with the following selected text and/or image within the active document: