280 likes | 293 Views
Learn how to simplify Boolean expressions using Karnaugh Maps to minimize terms and literals. Applications include logic rule reduction and hardware design optimization. Examples and explanations provided.
E N D
CS 20 Lecture 14Karnaugh Maps Professor CK Cheng CSE Dept. UC San Diego
Karnaugh Maps • Introduction • The Maps • Boolean Optimization
Introduction Definitions: Literal: xi or xi’ Product Term: x2x1’x0 Sum Term: x2 + x1’ + x0 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 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
Introduction An example of 2-variable function f(A,B)=A+B
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
K-Map: Truth Table in 2 Dimensions A = 0 A = 1 AB’ 0 2 0 1 1 1 B = 0 B = 1 1 3 A’B AB f(A,B) = A + B
Another Example f(A,B)=B f(A,B)=A’B+AB=(A’+A)B=B
On the K-map: A = 0 A= 1 0 2 0 0 1 1 B= 0 B = 1 1 3 AB A’B f(A,B)=B
Using Maxterms f(A,B)=(A+B)(A’+B)=(AA’)+B=0+B=B
The Maps: Representation of k-Variable Functions (1,1,0) (1,1,1) • Boolean Expression • Truth Table • Cube • K Map • Binary Decision Diagram A (0,1,0) (0,1,1) B (1,0,1) C (0,0,0) (0,0,1) A cube of 3 variables: (A,B,C)
Representation of k-Variable Func. (0,1,1,0) (0,1,1,1) (1,1,1,0) (1,1,1,1) • Boolean Expression • Truth Table • Cube • K Map • Binary Decision Diagram B (0,0,1,1) (0,0,1,0) (1,0,1,0) (1,0,1,1) C (0,1,0,1) (1,1,0,1) D (0,0,0,0) (0,0,0,1) (1,0,0,0) (1,0,0,1) A A cube of 4 variables: (A,B,C,D)
Three-Variable K-Map Id a b c f (a,b,c) 0 0 0 0 f(0,0,0) 1 0 0 1 f(0,0,1) 2 0 1 0 f(0,1,0) 3 0 1 1 f(0,1,1) 4 1 0 0 f(1,0,0) 5 1 0 1 f(1,0,1) 6 1 1 0 f(1,1,0) 7 1 1 1 f(1,1,1)
Three-Variable K-Map Id a b c f (a,b,c) 0 0 0 0 1 1 0 0 1 0 2 0 1 0 1 3 0 1 1 0 4 1 0 0 1 5 1 0 1 0 6 1 1 0 1 7 1 1 1 0
Corresponding K-map b = 1 Gray code (0,0) (0,1) (1,1) (1,0) 0 2 6 4 c = 0 1 1 1 1 1 3 7 5 c = 1 0 0 0 0 a = 1 f(a,b,c) = c’
Karnaugh Maps (K-Maps) • Boolean expressions can be minimized by combining terms • K-maps minimize equations graphically
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’
Another 3-Input example Id a b c f (a,b,c) 0 0 0 0 0 1 0 0 1 0 2 0 1 0 1 3 0 1 1 0 4 1 0 0 1 5 1 0 1 1 6 1 1 0 - 7 1 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.
Corresponding K-map b = 1 (0,0) (0,1) (1,1) (1,0) 0 2 6 4 c = 0 0 1 - 1 1 3 7 5 c = 1 0 0 1 1 a = 1 f(a,b,c) = a + bc’
Yet another example Id a b c f (a,b,c,d) 0 0 0 0 1 1 0 0 1 1 2 0 1 0 - 3 0 1 1 0 4 1 0 0 1 5 1 0 1 1 6 1 1 0 0 7 1 1 1 0
Corresponding K-map b = 1 (0,0) (0,1) (1,1) (1,0) 0 2 6 4 c = 0 1 - 0 1 1 3 7 5 c = 1 1 0 0 1 a = 1 f(a,b,c) = b’
Quiz • Given Boolean function, • f(a,b,c)= a’b’+a’c’+bc’+ab+b’c • Write the truth table • Use Karnaugh map to derive the function in a minimal expression of sum of product form.