CS 20 Lecture 14 Karnaugh Maps Professor CK




























- Slides: 28
CS 20 Lecture 14 Karnaugh Maps Professor CK Cheng CSE Dept. UC San Diego 1
Karnaugh Maps 1. Introduction 2. The Maps 3. Boolean Optimization 2
Introduction Definitions: Literal: xi or xi’ 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) 3
Introduction 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 4
Introduction An example of 2 -variable function f(A, B)=A+B ID A B f(A, B) minterm 0 0 1 0 1 1 A’B 2 1 0 1 AB’ 3 1 1 1 AB 5
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 6
K-Map: Truth Table in 2 Dimensions A=0 B=1 0 1 A=1 2 3 AB’ 1 1 A’B AB f(A, B) = A + B 7
Another Example f(A, B)=B ID A B f(A, B) minterm 0 0 1 0 1 1 2 1 0 0 3 1 1 1 f(A, B)=A’B+AB=(A’+A)B=B A’B AB 8
On the K-map: A=0 B=1 0 1 A= 1 2 3 0 1 AB A’B f(A, B)=B 9
Using Maxterms ID A B f(A, B) Maxterm 0 0 A+B 1 0 1 1 2 1 0 0 3 1 1 1 A’+B f(A, B)=(A+B)(A’+B)=(AA’)+B=0+B=B 10
The Maps: Representation of k-Variable Functions • • • Boolean Expression (1, 1, 0) (1, 1, 1) Truth Table A (0, 1, 0) (0, 1, 1) Cube B K Map (1, 0, 1) C (0, 0, 1) Binary Decision (0, 0, 0) Diagram A cube of 3 variables: (A, B, C) 11
Representation of k-Variable Func. • • • Boolean Expression (0, 1, 1, 0) (0, 1, 1, 1) (1, 1, 1, 0) (1, 1, 1, 1) Truth Table B (0, 0, 1, 1) (1, 0, 1, 0) (1, 0, 1, 1) (0, 0, 1, 0) Cube C (0, 1, 0, 1) K Map (1, 1, 0, 1) D Binary Decision (0, 0, 0, 0) (0, 0, 0, 1) (1, 0, 0, 0) (1, 0, 0, 1) A Diagram A cube of 4 variables: (A, B, C, D) 12
Three-Variable K-Map Id a b c f (a, b, c) 0 1 2 3 4 5 6 7 0 0 1 1 0 1 0 1 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) 13
Three-Variable K-Map Id a b c 0 1 2 3 4 5 6 7 0 0 1 1 0 1 0 1 f (a, b, c) 1 0 1 0 14
Corresponding K-map b=1 Gray code (0, 0) c=0 c=1 0 1 1 0 (0, 1) 2 3 1 0 (1, 1) 6 7 1 0 (1, 0) 4 5 1 0 a=1 f(a, b, c) = c’ 15
Karnaugh Maps (K-Maps) • Boolean expressions can be minimized by combining terms • K-maps minimize equations graphically 16
K-map • 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. y(A, B)=A’B’C’+A’B’C= A’B’(C’+C)=A’B’ 17
Another 3 -Input example Id a b c 0 1 2 3 4 5 6 7 0 0 1 1 0 1 0 1 f (a, b, c) 0 0 1 1 1 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. 18
Corresponding K-map b=1 (0, 0) c=0 c=1 0 0 (0, 1) 2 3 1 0 (1, 1) 6 7 1 (1, 0) 4 5 1 1 a=1 f(a, b, c) = a + bc’ 19
Yet another example Id a b c 0 1 2 3 4 5 6 7 0 0 1 1 0 1 0 1 f (a, b, c, d) 1 1 0 0 20
Corresponding K-map b=1 (0, 0) c=0 c=1 0 1 1 1 (0, 1) 2 3 0 (1, 1) 6 7 0 0 (1, 0) 4 5 1 1 a=1 f(a, b, c) = b’ 21
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. 22
4 -input K-map 23
4 -input K-map 24
4 -input K-map 25
K-maps with Don’t Cares 26
K-maps with Don’t Cares 27
K-maps with Don’t Cares 28




























