Can Karnaugh Maps Simplify Digital Logic Expressions Without Static Hazards?

In summary: So, while it is nice to know what a static hazard is, you should always know what gates you are using and how they behave when trying to implement logic. If you use a simulator and are using a gate which has a different delay than what the simulator thinks it should have, you can get some really odd results.
  • #1
cepheid
Staff Emeritus
Science Advisor
Gold Member
5,199
38

Homework Statement


Draw the schematic circuit diagram that implements the following expression using as few basic gates as possible (AND, OR, NOT, XOR, NAND, NOR).

The prime denotes the complement:

[tex] f = w^\prime z^\prime + w^\prime xy + wx^\prime z + wxyz [/tex]

The Attempt at a Solution



From the truth table, I drew a Karnaugh Map (attached and linked to below. I'm just wondering whether I did it right. From the K-Map, the resulting simplification is:

[tex] f = w^\prime z^\prime + w^\prime xy + wx^\prime z + wyz [/tex]

Is there no further simplification?

http://img340.imageshack.us/img340/9333/hw14bkmapwm3.th.png
 

Attachments

  • HW1_4b_KMAP.jpg
    HW1_4b_KMAP.jpg
    8.6 KB · Views: 449
Last edited by a moderator:
Physics news on Phys.org
  • #2
[tex] f = w^\prime z^\prime + w^\prime xy + wx^\prime z + wxyz [/tex]

The original equation has 15 operations, removing that last x gives you 14. the following gives you 11. There might be other things you could do, but I don't see any right off.

[tex] s = xy [/tex]

[tex] f = w^\prime ( z^\prime + s) + w (x^\prime z + sz) [/tex]
 
  • #3
cepheid said:
From the truth table, I drew a Karnaugh Map (attached and linked to below. I'm just wondering whether I did it right. From the K-Map, the resulting simplification is:

[tex] f = w^\prime z^\prime + w^\prime xy + wx^\prime z + wyz [/tex]

Is there no further simplification?

If you circled the regions on the map like this:
http://img522.imageshack.us/img522/3419/3termswhazardqs5.th.jpg
you would have obtained a simpler expression:
[tex] f = w^\prime z^\prime + xyz + wx^\prime z[/tex]

BUT this expression, as well as yours, has static hazard.

To eliminate the static hazard there must not be any pair of adjacent but disjointed regions circled on the map. So you must circle the regions like this:
http://img20.imageshack.us/img20/5679/3termswohazardtv7.th.jpg
which will give you the simplest expression without hazards:
[tex] f = w^\prime z^\prime + xyz + wx^\prime z + w^\prime xy + wyz[/tex]
 
Last edited by a moderator:
  • #4
antonantal said:
If you circled the regions on the map like this:
http://img522.imageshack.us/img522/3419/3termswhazardqs5.th.jpg
you would have obtained a simpler expression:
[tex] f = w^\prime z^\prime + xyz + wx^\prime z[/tex]

BUT this expression, as well as yours, has static hazard.

To eliminate the static hazard there must not be any pair of adjacent but disjointed regions circled on the map. So you must circle the regions like this:
http://img20.imageshack.us/img20/5679/3termswohazardtv7.th.jpg
which will give you the simplest expression without hazards:
[tex] f = w^\prime z^\prime + xyz + wx^\prime z + w^\prime xy + wyz[/tex]

Just to expand on this a bit, the thing about static hazard theory is that it is difficult to match with practice. This is because each type of gate has a different delay, each type's delay varies differently with temperature, and runs have different delays. Also, the above definition of static hazard either assumes NOT operations are infinitely fast, or that you buffer all signals with either an inverter a non-inverter but never both and assume their delays are equal. In practice, edge sensitive logic is either made synchronous (clocked), run lengths are adjusted accordingly and fingers are crossed, or off-the-shelf programmable ICs are used which are hopefully fairly hazard-less (and fingers are still crossed).
 
Last edited by a moderator:

What is a Karnaugh Map?

A Karnaugh Map, also known as a K-map, is a graphical method used to simplify Boolean algebra expressions. It is a tool commonly used in digital logic design to reduce the number of logic gates needed to implement a logic function, thereby simplifying the overall logic design.

How is a Karnaugh Map used?

A Karnaugh Map is used by grouping together adjacent cells in the map that represent 1s in the truth table of a logic function. These groups are then combined to create simplified expressions for the logic function. The resulting expressions can then be used to design a more efficient digital logic circuit.

What are the benefits of using a Karnaugh Map?

One of the main benefits of using a Karnaugh Map is that it allows for the simplification of complex logic functions, making the design of digital circuits more efficient. It also helps to minimize the number of logic gates needed, which can reduce the cost and size of the overall circuit.

Are there any limitations to using a Karnaugh Map?

While Karnaugh Maps are a useful tool, they do have some limitations. One limitation is that they can only be used for functions with a small number of variables. Additionally, Karnaugh Maps can only be used for functions that are in standard or canonical form, meaning they must be in either sum-of-products or product-of-sums form.

What are some tips for using a Karnaugh Map effectively?

To use a Karnaugh Map effectively, it is important to first understand the truth table of the logic function and identify any patterns or groups of 1s. It is also helpful to start by simplifying larger groups first and then combining them to create larger groups until the expression is fully simplified. Additionally, it is important to check the final expression against the original truth table to ensure accuracy.

Similar threads

  • Engineering and Comp Sci Homework Help
Replies
2
Views
1K
  • Engineering and Comp Sci Homework Help
Replies
1
Views
5K
  • Engineering and Comp Sci Homework Help
Replies
11
Views
2K
  • Electrical Engineering
Replies
1
Views
1K
  • Engineering and Comp Sci Homework Help
Replies
2
Views
3K
  • Engineering and Comp Sci Homework Help
Replies
10
Views
9K
  • Programming and Computer Science
Replies
6
Views
2K
Back
Top