This function is a controlled oneshot with parameterizable values of low and high peak output, input trigger value level, delay, and output rise and fall times.

The one-shot takes an input value. This value is used as the independent variable in the piecewise linear curve described by the coordinate points of the cntl_array and pw_array pairs. From the curve, a pulse width value is determined, and the oscillator will output a pulse of that width, delayed by the delay value, and with specified rise and fall times. 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.

If the model parameter pos_edge_trig is TRUE (default), the one-shot is triggered by a rising clock edge at the value of clk_trig. If pos_edge_trig is FALSE, the one-shot will be triggered on the falling edge.

The retrig parameter specifies whether or not the one-shot can be retriggered. By default, the oneshot cannot be retriggered. Set the retrig parameter to TRUE in order to retrigger this oneshot.

Upon triggering, the output reaches its high value after time:

 rise_delay + rise_time

and its initial value again after time:

 PulseWidth + 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. The clr signal must be higher than clk_trig to achieve this.

Array sizes of 2 for both the cntl_array and the pw_array will yield a linear variation of the pulse width with respect to the control input. Any sizes greater than 2 will yield a piecewise linear transfer characteristic.

Parameters

Parameter Description Default Limits
cntl_array Control in array (at least 2 values separated by a space). 0  
pw_array Pulse width array (at least 2 values separated by a space). 1.0e-6 min=0
clk_trig Clock trigger value. 0.5  
pos_edge_trig Positive (TRUE)/Negative (FALSE) edge trigger switch. TRUE  
out_low Output low value. 0  
out_high Output high value. 1  
rise_time Output rise time. 1.0e-9  
rise_delay Output delay from trigger. 1.0e-9  
fall_delay Output delay from pw. 1.0e-9  
fall_time Output rise time. 1.0e-9  
retrig Retrigger switch. FALSE