Hysteresis Block

NAME_TABLE:

C_Function_Name: cm_hyst

Spice_Model_Name: hyst

Description: "hysteresis block"

PORT_TABLE:

Port Name: in out

Description: "input" "output"

Direction: in out

Default_Type: v v

Allowed_Types: [v,vd,i,id] [v,vd,i,id]

Vector: no no

Vector_Bounds: - -

Null_Allowed: no no

PARAMETER_TABLE:

Parameter_Name: in_low in_high

Description: "input low value" "input high value"

Data_Type: real real

Default_Value: 0.0 1.0

Limits: - -

Vector: no no

Vector_Bounds: - -

Null_Allowed: yes yes

PARAMETER_TABLE:

Parameter_Name: hyst out_lower_limit

Description: "hysteresis" "output lower limit"

Data_Type: real real

Default_Value: 0.1 0.0

Limits: [0.0 -] -

Vector: no no

Vector_Bounds: - -

Null_Allowed: yes yes

PARAMETER_TABLE:

Parameter_Name: out_upper_limit input_domain

Description: "output upper limit" "input smoothing domain"

Data_Type: real real

Default_Value: 1.0 0.01

Limits: - -

Vector: no no

Vector_Bounds: - -

Null_Allowed: yes yes

PARAMETER_TABLE:

Parameter_Name: fraction

Description: "smoothing fraction/absolute value switch"

Data_Type: boolean

Default_Value: TRUE

Limits: -

Vector: no

Vector_Bounds: -

Null_Allowed: yes

  • Description:
    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.

Example SPICE Usage:

a11 1 2 schmitt1

.

.

.model schmitt1 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)