Propagation delays not only limit the speed at which a circuit can operate, they can also cause unexpected and unwanted transitions in outputs. These unwanted transitions, glitches, result when an input signal changes state, provided the signal takes two or more paths through a circuit and one path has a longer delay than the other. The increased delay on one path can cause a glitch when the signal paths are recombined at an output gate. Asymmetric path delays commonly arise when an input signal drives an output through two or more paths, with one path containing an inverter and one not. Figure 1 below illustrates a glitch being formed by an inverter. Note the glitch (the 1-0-1 transition on Y) has the same duration as the delay in the inverter.
All logic gates add some delay to logic signals, with the amount of delay determined by their construction and output loading. In Fig. 1, the inverter is shown with a larger delay (identified by time
Glitches occur when an input is used in two product terms (or two sum terms for a POS equation), and inverted in one term but not in the other. This is illustrated in Fig. 2, the logic equation, and in the K-map in Fig. 3. In the K-map, two loops define a minimal logic expression. The
Likewise, the term
A circuit that can glitch can be identified by its schematic, K-map, or logic equation. In a schematic, an input that follows multiple paths to an output gate can create a glitch, if one path has an inverter and one does not. In a K-map, if loops are adjacent but not joined by an overlapping loop, then the adjacency not covered by a loop presents the opportunity for a glitch. For example, in the K-maps in Fig. 3 below, only K-map #1 results in a circuit that can glitch.
A glitch can be identified in a logic equation if two or more terms include the same logic signal, and the signal is inverted in one term but not in another. For this discussion, each pair of terms that contain a single variable that is inverted in one term but not the other are called coupled terms, the inverted/non-inverted variable the coupled variable, and the set of all other variables in both terms the residue.
In some applications, it may be desirable to remove the glitch so that the output remains steady when a coupled variable changes state. Note that in the solution to Problem 1, the glitch on Y is only possible if B and C are held high. This observation can be generalized: for a glitch to occur, a logic circuit must be sensitized to a coupled variable by driving all inputs to appropriate levels so that only the coupled variable can affect the output. In an SOP circuit, this means that all inputs other than the coupled input must be driven to a ‘1’ so that they have no effect on the outputs of the first-level AND gates.
This observation leads directly to the method for removing a glitch from a logic circuit: combine all residue input signals in a new first-level logic gate (i.e., an AND gate for an SOP circuit), and add the new gate to the circuit. For example, in the equation
This is always the case, removing glitches requires a larger circuit with redundant logic. In practice, it is almost always preferable to design minimal circuits and deal with glitches in another manner (discussed in a later module). Perhaps the best lesson is to be aware that in general, whenever an input to a combinational circuit changes, glitches are possible (at least, until proven otherwise).
The loops for the original SOP equation in problem 1 did not overlap, and this is the hallmark of a potential glitch. When a loop for the redundant term is added, every loop overlaps with at least one other, and no glitches are possible.
If non-overlapping (or isolated) loops are located in non-adjacent K-map cells (see K-map #3 in Fig. 3 above), there are no coupled terms, no coupled variables, and it is not possible to add a loop (or loops) to cause all loops to overlap with at least one other. In such a case, no single input change can cause a glitch. In this type of circuit, two or more inputs might be directed to change state at the same time with desired outcome of having the output remain at some stable state.For example, in the circuit
Most of the glitch discussion so far has focused on SOP circuits, but the same phenomenon is present in POS circuits as well. POS circuits suffer from glitches for the same reasons as SOP circuits (asymmetric path delays for an input arriving at multiple input gates). As you might expect, the conditions required are similar, but not identical to the SOP case.
These simple experiments demonstrate the basic effects of gate delays on digital circuits, namely, output glitches are possible in response to input transitions, provided the input passes through asymmetric circuit path delays in forming the output. In the more general case, any time an input passes through two different circuit branches, and those two branches are recombined at a downstream point in the circuit, timing problems like glitches are possible. Again, the lesson is to be aware that signals take time to propagate through logic circuits, and different circuit paths have different delays. And in certain cases, those differential delays can cause problems.
- Unwanted transitions, called glitches, result when an input signal changes state, provided the signal takes two or more paths through a circuit and one path has a longer delay than the other.
- Asymmetric path delays commonly arise when an input signal drives an output through two or more paths, with one path containing an inverter and one not.
- All logic gates add some delay to logic signals, with the amount of delay determined by their construction and output loading.
- A glitch can be identified in a logic equation if two or more terms include the same logic signal, and the signal is inverted in one term but not in another.
- Removing glitches requires a larger circuit with redundant logic. In practice, it is almost always preferable to design minimal circuits and deal with glitches in another manner.