CS 20 Lecture 14 Karnaugh Maps Professor CK

  • Slides: 28
Download presentation
CS 20 Lecture 14 Karnaugh Maps Professor CK Cheng CSE Dept. UC San Diego

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

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

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.

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)

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

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’

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

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

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

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)

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,

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

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

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,

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

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

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

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

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

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

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.

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 23

4 -input K-map 24

4 -input K-map 24

4 -input K-map 25

4 -input K-map 25

K-maps with Don’t Cares 26

K-maps with Don’t Cares 26

K-maps with Don’t Cares 27

K-maps with Don’t Cares 27

K-maps with Don’t Cares 28

K-maps with Don’t Cares 28