BLK_SchmittTrigger

BLK_SchmittTrigger : A Schmitt trigger circuit

A Schmitt trigger is a comparator with hysteresis. In other words, the decision threshold of the comparator may vary with the output state, for instance, taking a value of vth0 when the current output is 0 and vth1 when the current output is 1.

This Schmitt trigger model is described using a compare primitive that compares the input in against a variable threshold vth. The threshold vth takes one of the two possible values, defined by the parameters vth0 and vth1, depending on the current output value using a select primitive. Note that the buf_xbit primitive with its init_value set to 0 is necessary to force the initial state of the feedback loop which would otherwise stay at X.

Input/Output Terminals

Name I/O Type Description
out output xbit output signal
in input xreal input signal

Parameters

Name Type Default Description
vth0 real 0.6 threshold level when output=0
vth1 real 0.4 threshold level when output=1

List of Testbenches

tb_meas_tfdc : A testbench for measuring the DC transfer function of a Schmitt trigger circuit

tb_meas_tfdc : A testbench for measuring the DC transfer function of a Schmitt trigger circuit

This testbench measures the DC transfer function of a Schmitt trigger circuit by sweeping the input from a low value to a high value and then from the high value back to the low value. Sweeping the input in both direction is necessary to measure the full DC transfer characteristics which may exhibit hysteresis effects.

A Schmitt trigger circuit may have a different switching threshold depending on the current output value.

`include "xmodel.h"

module tb_meas_tfdc ();
    xreal in;
    xbit out;
    
    pwl_gen #(.data('{0.0, 0.0, 50e-9, 1.0, 100e-9, 0.0})) I0 (in);
    
    // DUT
    BLK_SchmittTrigger #(.vth0(0.6), .vth1(0.4)) DUT (.in(in), .out(out));

    // probing
    initial begin
        $xmodel_dumpfile();
        $xmodel_dumpvars();
    end

endmodule

Simulation Results

the DC transfer function

Figure. the DC transfer function.