Controlled One-Shot

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. It takes an input voltage or current 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.

From the above, it is easy to see that 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. For more detail, refer to the description of the piecewise linear controlled source, which uses a similar method to derive an output value given a control input.

Port Table

Description Direction Default Type Allowed Types Vector Vector Bounds Null Allowed
clock input IN v v,vd,i,id,vnam NO   NO
control input IN v v,vd,i,id,vnam NO   YES
clear signal IN v v,vd,i,id,vnam NO   YES
Output OUT v v,vd,i,id NO   NO

Parameter Table

Name Description Data Type Default Value Limits Vector Vector Bounds Null Allowed
cntl_array control in array Real 0.0   YES 2 / - NO
pw_array pulse width array Real 1.0e-6 0 / - YES 2 / - NO
clk_trig clock trigger value Real 0.5   NO   NO
pos_edge_trig pos/neg edge trigger switch Boolean TRUE   NO   NO
out_low output low value Real 0.0   NO   YES
out_high output high value Real 1.0   NO   YES
rise_time output rise time Real 1.0e-9   NO   YES
rise_delay output delay from trigger Real 1.0e-9   NO   YES
fall_delay output delay from pw Real 1.0e-9   NO   YES
fall_time output rise time Real 1.0e-9   NO   YES
retrig retrigger switch Boolean FALSE   NO   YES

Error Messages

OHESHOT: Error allocating oneshot block storage

Generic storage allocation error.

ONESHOT: Size of control array different than pulse-width array

This error indicates that the control array and pulse-width arrays are of different sizes.

ONESHOT: Extrapolated Pulse-Width Limited to zero

This error indicates that for the current control input, a pulse-width of less than zero is indicated. The model will consequently limit the pulse width to zero until the control input returns to a more reasonable value.


ain 12 3 4 pulse2
.model pulsel oneshot(cntl.array = [-1 0 10 11]
+                     pw_array = [le-6 le-6 le-4 le-4]
+                     clk.trig = 0.9 pos_edge_trig = FALSE
+                     out_low = 0.0 out.high = 4.5 duty_cycle = 0.9
+                     rise.delay = 20.0-9 fall.delay = 35.0e-9)

See also

XSPICE Devices
XSPICE Code Models