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 |