Electronic – How to fix the glitches in the following Karnaugh maps

digital-logicglitchkarnaugh map

The following circuit is supposed to output 1 if the input is greater or equal than 1010 (decimal 10). The truth table is given and we are supposed to convert that to POS and SOP using Karnaugh maps. Here's the truth table with the minterms and the Maxterms:

Here's the Karnaugh map I did for the SOP (Sum of Products)

Same for POS (Product of Sums)

I remember my professor saying that when you make groups on the Karnaugh map if there's adjacent groups there will be a glitch.

I have three questions:

  1. Is it possible to fix the glitch without the Karnaugh map? If yes how?
  2. How do you fix the glitches on the Karnaugh map?
  3. How do you fix the glitches on the resulting circuits (I have to make one for the POS and one for the SOP).

Best Answer

The term for this glitch effect is hazard. The Karnaugh map is an easy way to identify and eliminate hazards. A hazard exists when there are adjacent, non-overlapping groups (also called terms) in the K-map. When transitioning from one group to the other, the output shouldn't change according to the logic, but there might be a change or glitch because of uneven delays through the gates. If this is not tolerable, eliminate the hazard by defining an additional, redundant term that overlaps the groups, in effect bridging the gap between them.

For example, in your sum-of-products map, you have two terms, ab and ac. These two overlap; there is no hazard.

An example of a hazard: Consider the latch Q = DE + Q 'E (where 'E = not E). The latch function: when E is high, Q = D. When E goes low, Q maintains its level regardless of subsequent level of D. But there is a hazard: when D and E are high, Q is high and should remain high when E goes low. But both product terms change state, and if the DE term goes low before the Q'E term goes high, Q becomes 0. (The K-map will show that the terms do not overlap.)
To eliminate the hazard, add the additional, overlapping term DQ to the sum: Q = DE + Q'E + DQ

Related Topic