Lecture 3: Incompletely Specified Functions and K Maps CSE 140: - - PowerPoint PPT Presentation

lecture 3 incompletely specified functions and k maps
SMART_READER_LITE
LIVE PREVIEW

Lecture 3: Incompletely Specified Functions and K Maps CSE 140: - - PowerPoint PPT Presentation

Lecture 3: Incompletely Specified Functions and K Maps CSE 140: Components and Design Techniques for Digital Systems Spring 2014 CK Cheng, Diba Mirza Dept. of Computer Science and Engineering University of California, San Diego 1


slide-1
SLIDE 1

Lecture 3: Incompletely Specified Functions and K Maps

CSE 140: Components and Design Techniques for Digital Systems Spring 2014

CK Cheng, Diba Mirza

  • Dept. of Computer Science and Engineering

University of California, San Diego

1

slide-2
SLIDE 2

2

  • Literals

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.

  • Maxterm of n variables: A sum of n literals in which

every variable appears exactly once.

Definitions

slide-3
SLIDE 3

3

Id a b f (a, b) 0 0 0 1 1 0 1 0 2 1 0 1 3 1 1 X: don’t care

For example: 1) The input does not happen. 2) The input happens, but the

  • utput is ignored.

Example:

  • Decimal number 0… 9 uses 4 bits. (1,1,1,1) does not happen.
  • Situations where the output of a switching function can be

either 0 or 1 for a particular combination of inputs

  • This is specified by a don’t care in the truth table

Incompletely Specified Function

slide-4
SLIDE 4

4

Consider a circuit that produces the difference between two inputs only if the second input is less than or equal to the first input. Let’s describe the truth table:

Id a b g(a,b,c) 0 0 0 0 1 0 1 X 2 1 0 1 3 1 1 0

slide-5
SLIDE 5

5

How to completely specify the truth table in canonical form? We have three types of output which divides the input space into three sets: Onset F: All the input conditions for which the output is 1 Offset R: All the input conditions for which the output is 0 Don’t care D: All the input conditions for which the output is a ‘don’t care’ Id a b g(a,b,c) 0 0 0 0 1 0 1 X 2 1 0 1 3 1 1 0

Which of the following is needed to express a Boolean function?:

  • A. Any one of F, R, D
  • B. Any two of F, R, D
  • C. All three sets:F, R, D
slide-6
SLIDE 6

6

Boolean Expressions for onset, offset and Don’t care

F (a, b) = Σm(2)= m(2) R(a, b) = Σm(0,3) D= m(1) Id a b g(a,b,c) 0 0 0 0 1 0 1 X 2 1 0 1 3 1 1 0

slide-7
SLIDE 7

7

Q: Is F (a, b) =R (a, b) for the given truth table?

Id a b g(a,b,c) 0 0 0 0 1 0 1 X 2 1 0 1 3 1 1 0

  • A. Yes
  • B. No
slide-8
SLIDE 8

8

Q: Is F (a, b) =R (a, b) for the given truth table?

Id a b g(a,b,c) 0 0 0 0 1 0 1 X 2 1 0 1 3 1 1 0

  • A. Yes
  • B. No because the output

contains don’t cares

slide-9
SLIDE 9

9

Q: Is F (a, b) =R (a, b) for the given truth table?

Id a b g(a,b,c) 0 0 0 0 1 0 1 1 2 1 0 1 3 1 1 0

  • A. Yes
  • B. No
slide-10
SLIDE 10

10

Q: Is F (a, b) =R (a, b) for the given truth table?

Id a b g(a,b,c) 0 0 0 0 1 0 1 1 2 1 0 1 3 1 1 0

  • A. Yes
  • B. No
slide-11
SLIDE 11

PI Q: True or False: For a given digital combinational circuit, the value of the output can be one of three states

  • A. True: It can be 0, 1 or don’t care.
  • B. False: It can only be 0 or 1.

11

slide-12
SLIDE 12

PI Q: True or False: For a given digital combinational circuit, the value of the output can be one of three states

  • A. True: 0, 1 or don’t care
  • B. False: The don’t care is not a separate state,

rather it is used in the truth table to indicate that the output can be either 0 or 1

12

slide-13
SLIDE 13

13

Id a b f (a, b) 0 0 0 0 1 0 1 X 2 1 0 1 3 1 1 0

Q: Which of the following assumptions would result in an implementation with the fewest gates?

Reducing Incompletely Specified Functions

  • A. f(0,1) = 1
  • B. f(0,1) = 0
  • C. Neither A or B
  • D. Both A and B
slide-14
SLIDE 14

14

Id a b f (a, b) 0 0 0 0 1 0 1 0 2 1 0 1 3 1 1 X

Q: Which of the following assumptions would result in an implementation with the fewest gates?

Reducing Incompletely Specified Functions

  • A. f(1,1) = 1
  • B. f(1,1) = 0
  • C. Neither A or B
  • D. Both A and B
slide-15
SLIDE 15

15

Id a b f (a, b) 0 0 0 0 1 0 1 0 2 1 0 1 3 1 1 X

Don’t care set is important because it allows us to minimize the function

Reducing Incompletely Specified Functions

slide-16
SLIDE 16

16

Implementation

Specification è Schematic Diagram Net list, Switching expression Obj min cost è Search in solution space (max performance) Cost: wires, gates è Literals, product terms, sum terms We want to minimize # of terms, and # of literals

slide-17
SLIDE 17

17

Implementation: Specification => Logic Diagram

Flow 1: 1. Specification 2. Truth Table 3. Sum of Products or Product of Sums canonical form 4. Reduced expression using Boolean Algebra 5. Schematic Diagram of Two Level Logic Flow 2: 1. Specification 2. Truth Table 3. Karnaugh Map (truth table in two dimensional space) 4. Reduce using K’Maps 5. Reduced expression (SOP or POS) 6. Schematic Diagram of Two Level Logic

Karnaugh Map: A 2-dimensional truth table

slide-18
SLIDE 18

18

Truth Table vs. Karnaugh Map

ID A B f(A,B) 0 f(0,0) 1 1 f(0,1) 2 1 0 f(1,0) 3 1 1 f(1,1)

2-variable function, f(A,B)

A=0 A=1 B=0

f(0,0) f(1,0)

B=1

f(0,1) f(1,1)

slide-19
SLIDE 19

19

Truth Table

ID A B f(A,B) minterm 1 1 1 A’B 2 1 1 AB’ 3 1 1 1 AB

An example of 2-variable function, f(A,B)

slide-20
SLIDE 20

20

Function can be represented by sum of minterms: f(A,B) = A’B+AB’+AB This is not optimal however! We want to minimize the number of literals and terms.

slide-21
SLIDE 21

21

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

slide-22
SLIDE 22

How can we guarantee the most reduced expression was reached?

  • Boolean expressions can be minimized by combining terms
  • K-maps minimize equations graphically

22

ID A B f(A,B) 0 f(0,0) 1 1 f(0,1) 2 1 0 f(1,0) 3 1 1 f(1,1)

A=0 A=1 B=0

A’B’ AB’

B=1

A’B AB

slide-23
SLIDE 23

23

K-Map: Truth Table in 2 Dimensions

A = 0 A = 1 B = 0 B = 1 0 2 1 3

0 1 1 1

ID A B f(A,B) 1 1 1 2 1 1 3 1 1 1

slide-24
SLIDE 24

24

K-Map: Truth Table in 2 Dimensions

A = 0 A = 1 B = 0 B = 1 0 2 1 3

0 1 1 1

A’B AB’ AB

f(A,B) = A + B

ID A B f(A,B) 1 1 1 2 1 1 3 1 1 1

slide-25
SLIDE 25

25

Two Variable K-maps

Id a b f (a, b) 0 0 0 f (0, 0) 1 0 1 f (0, 1) 2 1 0 f (1, 0) 3 1 1 f (1, 1)

# possible 2-variable functions: For 2 variables as inputs, we have 4=22 entries. Each entry can be 0 or 1. Thus we have 16=24 possible functions. f(a,b) a b

slide-26
SLIDE 26

Representation of k-Variable Func.

  • Boolean Expression
  • Truth Table
  • Cube
  • K Map
  • Binary Decision

Diagram

26

(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

slide-27
SLIDE 27

27

ID A B C f(A,B,C) f(0,0,0) 1 1 f(0,0,1) 2 1 f(0,1,0) 3 1 1 f(0,1,1) 4 1 f(1,0,0) 5 1 1 f(1,0,1) 6 1 1 f(1,1,0) 7 1 1 1 f(1,1,1)

(A,B)

(0,0) (0,1) (1,0) (1,1) C=0 f(0,0,0) f(0,1,0) f(1,0,0) f(1,1,0) C=1 f(0,0,1) f(0,1,1) f(1,0,1) f(1,1,1)

K Map 1

(A,B)

(0,0) (0,1) (1,1) (1,0) C=0 f(0,0,0) f(0,1,0) f(1,1,0) f(1,0,0) C=1 f(0,0,1) f(0,1,1) f(1,1,1) f(1,0,1)

Q: Which of the following is a valid K’Map representation of the truth table ?

K Map 2 A: K’ Map 1 B: K’ Map 2 C: Both K Maps 1 and 2 D: Neither K Map 1 or 2

slide-28
SLIDE 28

28

ID A B C f(A,B,C) f(0,0,0) 1 1 f(0,0,1) 2 1 f(0,1,0) 3 1 1 f(0,1,1) 4 1 f(1,0,0) 5 1 1 f(1,0,1) 6 1 1 f(1,1,0) 7 1 1 1 f(1,1,1)

(A,B)

(0,0) (0,1) (1,0) (1,1) C=0 f(0,0,0) f(0,1,0) f(1,0,0) f(1,1,0) C=1 f(0,0,1) f(0,1,1) f(1,0,1) f(1,1,1)

K Map 1

(A,B)

(0,0) (0,1) (1,1) (1,0) C=0 f(0,0,0) f(0,1,0) f(1,1,0) f(1,0,0) C=1 f(0,0,1) f(0,1,1) f(1,1,1) f(1,0,1)

Q: Which of the following is a valid K’map representation of the truth table ?

K Map 2 A: K’ map 1 B: K’ map 2: Although map 1 is a correct mapping of the truth table it is not useful in getting a reduced expression because terms in adjacent cells cannot be combined C: Both K maps 1 and 2 D: Neither K map 1 or 2

slide-29
SLIDE 29

29

Corresponding three variable K-map

0 2 6 4 1 3 7 5

c = 1

1 1 1 1 0 0 0 0 (0,0) (0,1) (1,1) (1,0)

c = 0 Gray code

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

Truth table

slide-30
SLIDE 30

30

Corresponding three variable K-map

0 2 6 4 1 3 7 5

b = 1 c = 1 a = 1

1 1 1 1 0 0 0 0 (0,0) (0,1) (1,1) (1,0)

c = 0 Gray code f(a,b,c) = c’

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

Truth table

slide-31
SLIDE 31

31

Karnaugh Maps (K-Maps)

  • Boolean expressions can be minimized by combining

terms

  • K-maps minimize equations graphically

C 00 01 1 Y 11 10 AB 1 1 C 00 01 1 Y 11 10 AB ABC ABC ABC ABC ABC ABC ABC ABC B C 1 1 1 1 A 1 1 1 1 1 1 1 1 1 1 Y

slide-32
SLIDE 32

32

  • Circle 1’s in adjacent squares
  • Find rectangles which correspond to product

terms in Boolean expression

K-map

C 00 01 1 Y 11 10 AB 1 1

B C 1 1 1 1 A 1 1 1 1 1 1 1 1 1 1 Y

y(A,B)=A’B’C’+A’B’C= A’B’(C’+C)=A’B’

slide-33
SLIDE 33

33

Corresponding K-map

0 2 6 4 1 3 7 5

c = 1

0 1 X 1 0 0 1 1 (0,0) (0,1) (1,1) (1,0)

c = 0

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 X 7 1 1 1 1

Another 3-Input truth table

slide-34
SLIDE 34

34

Corresponding K-map

0 2 6 4 1 3 7 5

b = 1 c = 1 a = 1

0 1 X 1 0 0 1 1 (0,0) (0,1) (1,1) (1,0)

c = 0 f(a,b,c) = a + bc’

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 X 7 1 1 1 1

Another 3-Input truth table

slide-35
SLIDE 35

35

Corresponding K-map

0 2 6 4 1 3 7 5

c = 1

1 X 0 1 1 0 0 1 (0,0) (0,1) (1,1) (1,0)

c = 0

Id a b c f (a,b,c,d) 0 0 0 0 1 1 0 0 1 1 2 0 1 0 X 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

3 Input Truth table with Don’t cares PI Q: In the above case the minimal Boolean expression is obtained when the don’t care term is:

  • A. Included i.e. Circled in with one or more minterms that evaluate to 1
  • B. Excluded when grouping the minterms that evaluate to one
  • C. Either approach gives the minimal expression
slide-36
SLIDE 36

36

Corresponding K-map

0 2 6 4 1 3 7 5

c = 1

1 X 0 1 1 0 0 1 (0,0) (0,1) (1,1) (1,0)

c = 0

Id a b c f (a,b,c,d) 0 0 0 0 1 1 0 0 1 1 2 0 1 0 X 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

3 Input Truth table with Don’t cares PI Q: In the above case the minimal Boolean expression is obtained when the don’t care term is:

  • A. Included i.e. Circled in with one or more minterms that evaluate to 1
  • B. Excluded when grouping the minterms that evaluate to one
  • C. Either approach gives the minimal expression
slide-37
SLIDE 37

37

Corresponding K-map

0 2 6 4 1 3 7 5

b = 1 c = 1 a = 1

1 X 0 1 1 0 0 1 (0,0) (0,1) (1,1) (1,0)

c = 0 f(a,b,c) = b’

Id a b c f (a,b,c,d) 0 0 0 0 1 1 0 0 1 1 2 0 1 0 X 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

3 Input Truth table with Don’t cares

slide-38
SLIDE 38

38

Proof of Consensus Theorem using K Maps

Consensus Theorem: A’B+AC+BC=A’B+AC

C 00 01 1 Y 11 10 AB 1 1 1 1 C 00 01 1 Y 11 10 AB ABC ABC ABC ABC ABC ABC ABC ABC B C 1 1 1 1 A 1 1 1 1 1 1 1 1 1 1 1 1 Y

slide-39
SLIDE 39

Reading

39

[Harris] Chapter 2, 2.7