1 CS 20 Lecture 14 Karnaugh Maps Professor CK Cheng CSE Dept. UC San Diego
2 1.Introduction 2.The Maps 3.Boolean Optimization Karnaugh Maps
3 Definitions: Literal: x i or x i ’ Product Term:x 2 x 1 ’x 0 Sum Term:x 2 + x 1 ’ + x 0 Minterm of n variables: A product of n literals in which every variable appears exactly once. f(a,b,c,d): ab’cd’, a’bc’d’ Maxterm of n variables: A sum of n literals in which every variable appears exactly once. f(a,b,c,d): (a’+b+c+d), (a’+b’+c+d) Introduction
4 Input: Boolean expression of n binary variables Goal: Simplification of the expression. E.g. we want to minimize # terms and # literals. Applications: Logic: rule reduction Hardware Design: cost and performance optimization. Cost (wires, gates): # literals, product terms, sum terms Performance: speed, reliability
5 Introduction IDABf(A,B)minterm A’B 2101AB’ 3111AB An example of 2-variable function f(A,B)=A+B
6 Function can be represented by sum of minterms: f(A,B) = A’B+AB’+AB This is not minimal however! We want to minimize the number of literals and terms. We factor out common terms – A’B+AB’+AB= A’B+AB’+AB+AB =(A’+A)B+A(B’+B)=B+A Hence, we have f(A,B) = A+B
7 K-Map: Truth Table in 2 Dimensions A = 0 A = 1 B = 0 B = A’B AB’ AB f(A,B) = A + B
8 IDABf(A,B)minterm A’B AB Another Example f(A,B)=B f(A,B)=A’B+AB=(A’+A)B=B
9 On the K-map: A = 0 A= 1 B= 0 B = A’B AB f(A,B)=B
10 IDABf(A,B)Maxterm 0000A+B A’+B 3111 Using Maxterms f(A,B)=(A+B)(A’+B)=(AA’)+B=0+B=B
The Maps: Representation of k-Variable Functions Boolean Expression Truth Table Cube K Map Binary Decision Diagram 11 (1,1,1)(1,1,0) (0,0,0)(0,0,1) (0,1,0) (0,1,1) (1,0,1) A cube of 3 variables: (A,B,C) C B A
Representation of k-Variable Func. Boolean Expression Truth Table Cube K Map Binary Decision Diagram 12 (0,1,1,1)(0,1,1,0) (0,0,0,0)(0,0,0,1)(1,0,0,1) (1,1,1,1) (1,1,0,1) (1,0,0,0) (0,0,1,0) (1,1,1,0) (0,0,1,1) (1,0,1,1) (0,1,0,1) (1,0,1,0) A cube of 4 variables: (A,B,C,D) D C B A
13 Three-Variable K-Map Id a b c f (a,b,c) f(0,0,0) f(0,0,1) f(0,1,0) f(0,1,1) f(1,0,0) f(1,0,1) f(1,1,0) f(1,1,1)
14 Three-Variable K-Map Id a b c f (a,b,c)
15 Corresponding K-map b = 1 c = 1 a = (0,0) (0,1) (1,1) (1,0) c = 0 Gray code f(a,b,c) = c’
16 Karnaugh Maps (K-Maps) Boolean expressions can be minimized by combining terms K-maps minimize equations graphically
17 Find rectangles to cover 1’s in adjacent entries. Rectangles can overlap but should not include 0’s. Use the rectangle that corresponds to a product term. K-map y(A,B)=A’B’C’+A’B’C= A’B’(C’+C)=A’B’
18 Another 3-Input example Id a b c f (a,b,c) Don’t Care Entry: “-” means the entry is not relevant either at input or output. In other words, we are free to assign either 0 or 1 to reduce the Boolean expression.
19 Corresponding K-map b = 1 c = 1 a = (0,0) (0,1) (1,1) (1,0) c = 0 f(a,b,c) = a + bc’
20 Yet another example Id a b c f (a,b,c,d)
21 Corresponding K-map b = 1 c = 1 a = (0,0) (0,1) (1,1) (1,0) c = 0 f(a,b,c) = b’
22 Quiz Given Boolean function, f(a,b,c)= a’b’+a’c’+bc’+ab+b’c 1.Write the truth table 2.Use Karnaugh map to derive the function in a minimal expression of sum of product form.
23 4-input K-map
24 4-input K-map
25 4-input K-map
26 K-maps with Don’t Cares
27 K-maps with Don’t Cares
28 K-maps with Don’t Cares