Hysteresis

The Hysteresis block is a simple buffer stage that provides hysteresis of the output with respect to the input. The in_low and in_high parameter values specify the center voltage or current inputs about which the hysteresis effect operates. The output values are limited to out_lower_limit and out_upper_limit. The value of "hyst" is added to the in_low and in_high points in order to specify the points at which the slope of the hysteresis function would normally change abruptly as the input transitions from a low to a high value. Likewise, the value of "hyst" is subtracted from the in_high and in_low values in order to specify the points at which the slope of the hysteresis function would normally change abruptly as the input transitions from a high to a low value. In fact, the slope of the hysteresis function is never allowed to change abruptly but is smoothly varied whenever the input-domain smoothing parameter is set greater than zero.

Port Table

Description Direction Default Type Allowed Types Vector Vector Bounds Null Allowed
Input IN v v,vd,i,id,vnam NO   NO
Output OUT v v,vd,i,id NO   NO

Parameter Table

Name Description Data Type Default Value Limits Vector Vector Bounds Null Allowed
in_low input low value Real 0.0   NO   YES
in_high input high value Real 1.0   NO   YES
hyst hysteresis Real 0.1 0.0 / - NO   YES
out_lower_limit output lower limit Real 0.0   NO   YES
out_upper_limit output upper limit Real 1.0   NO   YES
input_domain input smoothing domain Real 0.01   NO   YES
fraction smoothing percent/absolute switch Boolean TRUE   NO   YES

Example

all 1 2 schmittl

.model schmittl hyst(in_low=0.7 in_high=2.4 hyst=0.5 out_lower_limit=0.5 
+                    out_upper_limit=3.0 input_domain=0.01 fraction=TRUE)

See also

XSPICE Devices
XSPICE Code Models