Electronic – Do Schmitt-trigger specs give requirements to avoid metastability

metastabilityschmitt-trigger

Although Schmitt triggers are not usually regarded as latches with setup/hold constraints, a Schmitt trigger is functionally a sort of latch which is forced one way when the input is above a certain threshold, forced the other way when the input is below a certain threshold, and is expected to hold its value when the input is between the upper and lower thresholds. While the thresholds may or may not be specified in such fashion as to have a non-overlapping region between them, the fact that a device doesn't switch at a particular voltage but switches at a voltage near that would imply that the former voltage should be within the "hold" zone. For example, given http://www.ti.com/lit/ds/symlink/sn74ahct14.pdf

Table 7.5 Electrical Characteristics
![enter image description here][1]

which guarantees 0.4V hysteresis, if device outputs high while the input sits at 1.2 volts, then goes low when the input rises to 1.3 volts and sits there awhile, it must remain low until the input goes below 0.9 volts. If the output hadn't gone low until the input rose to 1.5 volts, it could go back high as soon as the input went back down to 1.1 volts.

Because the Schmitt trigger is a latching device, it will necessarily be, like all latching devices, susceptible to being placed in a metastable condition. While an ideal Schmitt trigger would switch exactly once if given a signal which never deviates by more than +/- 0.2V (half the hysteresis voltage) from a monotonically rising or falling waveform, it must like any latch have input conditions which would induce metastability. Most latches and latching devices have designated setup/hold timings and promise that they will not go metastable unless those timings are violated. Do Schmitt triggers offer any guarantees, e.g. promising that a signal that crosses the upper threshold for less than some maximum "reject" time will not cause the output to switch at all, and any signal which crosses the threshold for more than some "capture" time will be guaranteed to cause the output to switch and stay switched? Are such guarantees documented anywhere?

Best Answer

Such considerations simply don't apply to the normal applications of Schmitt triggers. Schmitts are generally used where the input slew rate is much less than the output slew rate. With a slow input, the trigger point is not clearly defined, being affected by other factors such as noise and feedback from the switching transients as the output changes. Once the trigger point is reached, the positive feedback pulls the threshold quickly to the other level, and oscillation is prevented.

However, it is entirely true that Schmitt triggers exhibit metastability, and this was demonstrated in 1977/1979 by a series of remarks in the IEEE Transactions on Computing, by E.G.Wormald and Thomas Chaney. See http://fpga-faq.org/FAQ_Pages/0017_Tell_me_about_metastables.htm for a discussion of the subject.

So basically, Schmitt triggers are not much use for fast signals. For slow signals, they are very effective, but in these cases the low frequencies make metastability much less of a problem, since high sampling rates don't make sense, and there is relatively more time for metastable conditions to resolve themselves.