Difference between revisions of "Meta-stability"

From Computer History Wiki
Jump to: navigation, search
m (copyedit)
(Add clarifying description of the problem in a latch)
Line 3: Line 3:
 
This situation may resolve itself quickly (i.e. considerably faster than the speed of the overall circuit), in which case it is generally not an issue; or it may persist for some time (in theory, for an un-bounded period), in which case it can be a significant problem.
 
This situation may resolve itself quickly (i.e. considerably faster than the speed of the overall circuit), in which case it is generally not an issue; or it may persist for some time (in theory, for an un-bounded period), in which case it can be a significant problem.
  
One type of circuit in which meta-stability issues are a particular concern are [[synchronizer]]s of all kinds, particularly [[arbiter]]s.
+
The most common circuit to display this issue is the latch, which is a circuit with feedback - i.e. an output is connected back to an input. In line with the axiom above, this feedback is not digital (i.e. restricted to '0' or '1'), but may be any intermediate voltage.
 +
 
 +
Generally, if the output is 'toward' one of those two values, the circuit moves  quickly (through feedback) all the way to that value. However, if it is balanced precisely in the middle, it may take a while before it fluctuates to one side or the other, and then rapidly moves to that value.
 +
 
 +
One class of circuit in which meta-stability issues are a particular concern are [[synchronizer]]s of all kinds, particularly [[arbiter]]s; these are often constructed using latches.
 +
 
 +
Note that there is no way to avoid this situation (and considerable theoretical work has gone into studying it, and 'proves' that there is no solution). The best one can do is create circits that ask 'is it still trying to decide', and if so, wait.
  
 
The problem was independently re-discovered several times, without gathering significant attention, before the [[LINC]] group at WUSTL came across it, and after studying it intensively, was able to interest the rest of the electrical engineering profession in it.
 
The problem was independently re-discovered several times, without gathering significant attention, before the [[LINC]] group at WUSTL came across it, and after studying it intensively, was able to interest the rest of the electrical engineering profession in it.

Revision as of 23:13, 17 April 2017

Meta-stability refers to a situation in which a digital circuit element (usually one involving feedback) which is theoretically binary is actually in a state which is neither '0' nor '1'. (This is an instance of Vonada's Maxim that 'digital circuits are made from analog parts'.)

This situation may resolve itself quickly (i.e. considerably faster than the speed of the overall circuit), in which case it is generally not an issue; or it may persist for some time (in theory, for an un-bounded period), in which case it can be a significant problem.

The most common circuit to display this issue is the latch, which is a circuit with feedback - i.e. an output is connected back to an input. In line with the axiom above, this feedback is not digital (i.e. restricted to '0' or '1'), but may be any intermediate voltage.

Generally, if the output is 'toward' one of those two values, the circuit moves quickly (through feedback) all the way to that value. However, if it is balanced precisely in the middle, it may take a while before it fluctuates to one side or the other, and then rapidly moves to that value.

One class of circuit in which meta-stability issues are a particular concern are synchronizers of all kinds, particularly arbiters; these are often constructed using latches.

Note that there is no way to avoid this situation (and considerable theoretical work has gone into studying it, and 'proves' that there is no solution). The best one can do is create circits that ask 'is it still trying to decide', and if so, wait.

The problem was independently re-discovered several times, without gathering significant attention, before the LINC group at WUSTL came across it, and after studying it intensively, was able to interest the rest of the electrical engineering profession in it.

It is thought that meta-stability issues may have caused many computer 'crashes' early on, but since meta-stability failures are very hard to reproduce outside of carefully controlled laboratory situations, likely most such crashes went un-recognized for what they were.

Further reading

  • Severo M. Ornstein, "Computing in the Middle Ages", AuthorHouse, 2002 - An autobiography which describes early WUSTL work with meta-stability
  • Warren Mackie Littlefield, Thomas J. Chaney, "The Glitch Phenomenon", Technical Memo No. 10, Washington University in St. Louis, 1966 - An extensive look at early WUSTL work on meta-stability
  • Thomas J. Chaney, Charles E. Molnar, "Anomalous Behavior of Synchronizer and Arbiter Circuits", IEEE Transactions on Computers, Vol. C-22, pp 421-422, 1973 - One of the earliest papers in the literature once meta-stability had been accepted in the field as a real issue
  • Thomas J. Chaney, "My Work on All Things Metastable: Me and My Glitch", 2012 - Extensive notes about work on meta-stability during a professional career