# ECE/CS 352: Digital System Fundamentals

Lecture 7 – Karnaugh Maps

Based on slides by:Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc.

Outline
 Circuit Optimization

• Literal cost • Gate input cost

 Two-Variable Karnaugh Maps  Three-Variable Karnaugh Maps

Chapter 2

2

Circuit Optimization  Goal: To obtain the simplest implementation for a given function  Optimization is a more formal approach to simplification that is performed using a specific procedure or algorithm  Optimization requires a cost criterion to measure the simplicity of a circuit  Two distinct cost criteria we will use: • Literal cost (L) • Gate input cost (G) • Gate input cost with NOTs (GN) Chapter 2 3 .

Literal Cost  Literal – a variable or its complement  Literal cost – the number of literal appearances in a Boolean expression corresponding to the logic circuit diagram  Examples: L=8 • F = BD + ABC + AC D L=11 • F = BD + A BC + A B D + AB C • F = (A + B)(A + D)(B + C + D)(B + C + D) • Which solution is best? Chapter 2 L=10 4 .

GN=17 • F = BD + AB C + AB D + ABC • F = (A + B)(A + D)(B + C + D)(B + C + D) • Which solution is best? .GN=14  Example: G=15.Gate Input Cost  Gate input costs .(G) and • optionally. it can be found from the equation(s) by finding the sum of: all literal appearances the number of terms excluding terms consisting only of a single literal. the number of distinct complemented single literals (GN).inverters not counted.GN=18 F = BD + AB C + AC D • • • G=14. G=11. GN .inverters counted)  For SOP and POS equations.the number of inputs to the gates in the implementation corresponding exactly to the given equation or equations. (G .

 G (gate input count) adds the remaining OR gate inputs  GN(gate input count with NOTs) adds the inverter inputs Chapter 2 6 .Cost Criteria (continued)  Example 1: GN = G + 2 = 9 L=5  F= A+BC+ BC G=L+2= 7 B C A F  L (literal count) counts the AND inputs and the single literal OR input.

Cost Criteria (continued)  Example 2:     F = A B C + AB C L = 6 G = 8 GN = 11 F = (A + C)( B + C)( A + B) L = 6 G = 9 GN = 12 A B C F  Same function and same A literal cost B  But first circuit has better C gate input count and better gate input count with NOTs  Select it! Chapter 2 F 7 .

Y +V • • X X • • G = X +Y • • • X • • • Y • Y  Each input adds:  P-type transistor to pull-up network  N-type transistor to pull-down network (a) NOR (b) NAND (c) NOT Chapter 2 8 .Why Use Gate Input Counts?  CMOS logic gates: +V +V • • F • X • •• X .

 Some important questions: • • When do we stop trying to reduce the cost? Do we know when we have a minimum cost?  Two-level SOP & POS optimum or near-optimum functions  Karnaugh maps (K-maps) • Graphical technique useful for up to 5 inputs Chapter 2 9 .Boolean Function Optimization  Minimizing the gate inputs reduces circuit cost.

Two Variable K-Maps y=0 x=0 x=1 m0 = y=1 m1 = xy m2= xy m3 = xy xy  A 2-variable Karnaugh Map: • Similar to Gray Code • Adjacent minterms differ by one variable Chapter 2 10 .

y) 00 01 10 11 Function Value F(x.b.1} to implement a particular function.y) a b c d K-Map y=0 x=0 a x=1 c y=1 b d Chapter 2 11 . Function Table Input Values (x.y).  Example – Two variable function: • We choose a.c and d from the set {0.K-Map and Truth Tables  The K-Map is just a different form of the truth table. F(x.

Karnaugh Maps (K-map)  A K-map is a collection of squares • Each square represents a minterm • The collection of squares is a graphical representation • • of a Boolean function Adjacent squares differ in the value of one variable Alternative algebraic expressions for the same function are derived by recognizing patterns of squares  The K-map can be viewed as • A reorganized version of the truth table Chapter 2 12 .

and • two-level AND/OR and OR/AND circuit for functions with small numbers of variables  Demonstrate concepts used by computeraided design programs to simplify large circuits Chapter 2 13 .Some Uses of K-Maps  Finding optimum or near optimum implementations • SOP and POS standard forms.

y) = x F=x y=0 y=1 x=0 x=1 0 1 0 1  For function F(x.y).K-Map Function Representation  Example: F(x. y ) = x y + x y = x Chapter 2 14 . the two adjacent cells containing 1’s can be combined using the Minimization Theorem: F( x .

y) = x + y G = x+y y = 0 y = 1 x=0 x=1 0 1 1 1  For G(x. two pairs of adjacent cells containing 1’s can be combined using the Minimization Theorem: G( x . y ) = (x y + x y )+ (xy + x y )= x + y Duplicate x y Chapter 2 15 .y).K-Map Function Representation  Example: G(x.

the minterms are adjacent on the K-Map Chapter 2 16 .Three Variable Maps  A three-variable K-map: x=0 x=1 yz=00 m0 m4 yz=01 m1 m5 yz=11 m3 m7 yz=10 m2 m6 yz=10  Where each minterm corresponds to the product terms: yz=00 yz=01 yz=11 x=0 x y z xyz xyz xyz x=1 x y z xyz xyz xyz  Note that if the binary value for an index differs in one bit position.

y  Alternate labelings are useful: y y 3 7 2 6 x yz 0 0 00 01 11 10 1 5 3 7 x x 0 4 1 5 2 6 x 1 4 z z z z Chapter 2 17 .Alternative Map Labeling  Map use largely involves: • Entering values into the map. and • Reading off product terms from the map.

3. we represent the minterms of F by a "1" in the map and leave the minterms of F blank y  Example: F(x.4.5) 0 1 5 3 1 2 1 x 41  Example: 1 7 6 z 0 4 1 3 G(a. b.7)  Learn the locations of the 8 indices based on the variable x order shown (x. z) = m(2.Example Functions  By convention. c) = m(3. y. most significant and z.4.6. least significant) on the map boundaries y 1 7 1 2 6 1 5 1 z Chapter 2 18 .

we reduce number of literals in a product term.Combining Squares  By combining squares. thereby reducing the other two cost criteria  On a 3-variable K-Map: • One square represents a minterm with three • • variables Two adjacent squares represent a product term with two variables Four “adjacent” terms represent a product term with one variable Eight “adjacent” terms is the function of all ones (no variables) = 1. reducing the literal cost. Chapter 2 19 • .

z ) = x y z + x y z + x y z + x y z = yz + y z =y Chapter 2 20 .7) 0 1 5 3 y 1 7 1 2 1 1 x 4 6 z  Applying the Minimization Theorem three times:  Thus the four terms that form a 2 × 2 square correspond to the term "y". y .3. F( x.6.Example: Combining Squares  Example: Let F = m(2.

of 4 cells represent 4 minterms that form a “pairwise adjacent” ring.Three-Variable Maps  Reduced literal product terms for SOP standard forms correspond to rectangles on K-maps containing cell counts that are powers of 2.  Rectangles can contain non-adjacent cells due to wrap-around at edges Chapter 2 21 .  Rectangles of 2 cells represent 2 adjacent minterms.

Three-Variable Maps  Topological warp of 3-variable K-maps that shows all adjacencies: Chapter 2 22 .

Three-Variable Maps  Example Shapes of 2-cell Rectangles: X’Y’ 0 y 3 7 X’Z’ 1 5 2 6 YZ x 4 z Chapter 2 23 .

Three-Variable Maps  Example Shapes of 4-cell Rectangles: Y’ 1 5 y 0 3 7 Z 2 6 Z’ x 4 z  Read off the product terms for the rectangles shown Chapter 2 24 .

7) z y 1 1 1 xy x 1 1 z z+xy Chapter 2 25 F(x. z) = m(1.5. y. Terms are selected to cover the “1s”in the map.  Example: Simplify F(x.3. y. z) = .Three Variable Maps  K-Maps can be used to simplify Boolean functions by systematic methods.2.

Summary  Circuit Optimization • Literal cost • Gate input cost  Two-Variable Karnaugh Maps  Three-Variable Karnaugh Maps Chapter 2 26 .