K-map.pdf

17
1 1 Elec 326 Karnaugh Maps Karnaugh Maps Objectives This section presents a technique for simplifying logical expressions. It will: Define Karnaugh and establish the correspondence between Karnaugh maps and truth tables and logical expressions. Show how to use Karnaugh maps to derive minimal sum- of-products and product-of-sums expressions. Introduce the concept of "don't care" entries and show how to extend Karnaugh map techniques to include maps with don't care entries. Reading Assignment Sections 2.6 and 2.7 from the text 2 Elec 326 Karnaugh Maps Karnaugh Map Definitions A Karnaugh map is a two-dimensional truth-table. Unlike ordinary (i.e., one-dimensional) truth tables, however, certain logical network simplifications can be easily recognized from a Karnaugh map. Two-Variable Maps Truth Table 0 0 1 1 0 1 0 1 0 1 1 0 AB Z A B Z Type 1 Map 0 1 1 0 B Z Type 2 Map A 0 1 0 1 0 1 1 0 Three-Variable Maps Type 2 Map 1 0 1 1 1 0 0 0 0 1 0 0 0 1 1 1 1 0 Z B,C A C Type 1 Map A B Z 0 1 1 1 1 0 0 0 Truth Table 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 ABC 0 1 1 0 1 0 0 1 Z

description

K-MAP ( Karnaugh Map )The Karnaugh map reduces the need for extensive calculations by taking advantage of humans' pattern-recognition capability. It also permits the rapid identification and elimination of potential race conditions.

Transcript of K-map.pdf

Page 1: K-map.pdf

1

1Elec 326 Karnaugh Maps

Karnaugh MapsObjectivesThis section presents a technique for simplifying logical expressions. It will:

Define Karnaugh and establish the correspondence between Karnaugh maps and truth tables and logical expressions.Show how to use Karnaugh maps to derive minimal sum-of-products and product-of-sums expressions. Introduce the concept of "don't care" entries and show how to extend Karnaugh map techniques to include maps with don't care entries.

Reading AssignmentSections 2.6 and 2.7 from the text

2Elec 326 Karnaugh Maps

Karnaugh Map DefinitionsA Karnaugh map is a two-dimensional truth-table. Unlike ordinary (i.e., one-dimensional) truth tables, however, certain logical network simplifications can be easily recognized from a Karnaugh map.

Two-Variable MapsTruth Table

0011

0101

0110

A B Z A

B

Z

Type 1 Map

0 1

1 0

BZ

Type 2 Map

A0 1

0

1

0 1

1 0

Three-Variable MapsType 2 Map

10

1

1

1

0

0

0

0 10 0

0 1

1 1

1 0

ZB,C

A

C

Type 1 Map

A

B

Z

0 1

1

1

1

0

0

0

Truth Table

00001111

00110011

01010101

AB C01101001

Z

Page 2: K-map.pdf

2

3Elec 326 Karnaugh Maps

Four-Variable MapsTruth Table

0000000011111111

0000111100001111

0011001100110011

0101010101010101

A B C D0001011101111111

Z

Type 2 Map

ZC,D 00 01 1011

00

01

11

10

A,B

10

0 1 1 1

1 1

1 1

1 1

10

A

B

C

D

Z

10 0

0 1 1 1

1 1

1 1

1 1

10

Type 1 Map

00 0

4Elec 326 Karnaugh Maps

The interpretation of a type 1 map is that the rows or columns labeled with a variable correspond to region of the map where that variable has value 1.

Numbering of Karnaugh Map Squares.

A = 1region

C = 1region

D = 1region

B = 1region

A

B

CD

A

B

CD

A

B

CD

A

B

CD

ZC,D 00 01 1011

00

01

10

11

A,B

0

1

3

2

4

5

7

12

13

15

14

8

9

10

11

6

0 100

01

10

11

ZB,C

A

0

1

3

2

4

7

5

6

BZ A 0 1

01

0

1 3

2

Page 3: K-map.pdf

3

5Elec 326 Karnaugh Maps

Exercise: Plot the following expression on a Karnaugh map.

Z = (A•B)⊕(C+D)

A

C

B

D

Z = A•B•(C+D)' + (A•B)'•(C+D)

= A•B•C'•D' + (A'+B')•(C+D)

= A•B•C'•D' + A'•C + A'•D + B'•C + B'•D

1 1

1

1

1

1

11

11

0 0

0 0

0 0

6Elec 326 Karnaugh Maps

Minimal Sum-Of-Products ExpressionsOrdering of Squares

The important feature of the ordering of squares is that the squares are numbered so that the binary representations for the numbers of two adjacent squares differ in exactly one position.

This is due to the use of a Gray code (one in which adjacent numbers differ in only one position) to label the edges of a type 2 map.The labels for the type 1 map must be chosen to guarantee this property.

Note that squares at opposite ends of the same row or column also have this property (i.e., their associated numbers differ in exactly one position).

Page 4: K-map.pdf

4

7Elec 326 Karnaugh Maps

Merging Adjacent Product TermsZ = m5 + m13

= A'•B•C'•D + A•B•C'•D = (A'+A)•B•C'•D= 1•B•C'•D= B•C'•D

Example

A

B

C

D

Z

0 0 0 0

0 0 0 0

0 0 0 0

1 10 0

A'BC'DABC'D

ZBC'D

Z

B

A

C

D

Z

10 0 0

0 0 0

0

0

01

10 0 0

1

A • B • C'

A' • C • D

8Elec 326 Karnaugh Maps

For k-variable maps, this reduction technique can also be applied to groupings of 4,8,16,...,2k rectangles all of whose binary numbers agree in (k-2),(k-3),(k-4),...,0 positions, respectively.

Z = m5 + m7 + m13 + m15= A'•B•C'•D + A'•B•C•D + A•B•C'•D + A•B•C•D= (A'•C' + A'•C + A•C' + A•C) • (B•D)= (A'•(C' + C) + A•(C' + C)) • (B•D)= (A' + A) • (B•D)= B•D

B

A

C

D

Z

1

0 0

0

0 0 0

0

0

0 1

1

0 0

0

1

Page 5: K-map.pdf

5

9Elec 326 Karnaugh Maps

Basic Karnaugh Map Groupings for Three-Variable Maps.

B

A

C

Z3

1

1

B

A

C

Z5

1

1

1

1

B

A

C

Z4

1

1 1

1B

C

Z6

1

1 1

1

A

B

A

C

Z1

11

B

A

C

Z2

1

1

10Elec 326 Karnaugh Maps

Basic Karnaugh Map Groupings for Four-Variable Maps.

D

B

A

C

Z7

1

1

B

A

C

D

Z14

1 1

1 1

B

A

C

D1 1

Z8

C

D

1

1

A

B

Z9

B

A

C

Z10

1 1D

B

A

C

D

Z11

1

1

1

1

B

A

C

Z12

1

1

1

1D

C

D

Z13

1 1

1 1

A

B

Page 6: K-map.pdf

6

11Elec 326 Karnaugh Maps

B

A

C

D

Z15

1

1

1

1

B

A

C

D

Z18

1

1

1

1

1

1

1

1

B

A

C

D1

Z16

1 1 1

B

A

C

D

Z17

1 1

1 1

1 1

1 1

C

D

Z19

1

1

1

1

1

1

1

1

A

B B

AZ20

1 1

1 1

1 1

1 1C

D

12Elec 326 Karnaugh Maps

Rules for Grouping:The number of squares in a grouping is 2i for some i such that 1 ≤ i ≤ k.There are exactly k-i variables that have constant value for all squares in the grouping.

Resulting Product Terms:If X is a variable that has value 0 in all of the squares in the grouping, then the literal X' is in the product term.If X is a variable that has value 1 in all of the squares in thegrouping, then the literal X is in the product term.If X is a variable that has value 0 for some squares in the grouping and value 1 for others, then neither X' nor X are in the product term.

Page 7: K-map.pdf

7

13Elec 326 Karnaugh Maps

Invalid Karnaugh Map Groupings.

B

A

C

D

Z

1

0

0 0

0

0

0 1

1

0

0

1

1

1 1

1

Violates Rule 1B

A

C

D

Z

1

1

1

0

1

0 0

0

1

1

1

1

1

1

1

1

Violates Rule 2

loop 1

loop 2

14Elec 326 Karnaugh Maps

In order to minimize the resulting logical expression, the groupings should be selected as follows:

Identify those groupings that are maximal in the sense that they are not contained in any other possible grouping. The product terms obtained from such groupings are called prime implicants.

A distinguished 1-cell is a cell that is covered by only one prime implicant.An essential prime implicant is one that covers a distiquished 1-cell.

Use the fewest possible number of maximal groupings needed to cover all of the squares marked with a 1.

Examples:

B

A

C

D

Z

1

0

0

0

1

10

0

1

11

11

1

1

1

#2

#3#4

#1

Page 8: K-map.pdf

8

15Elec 326 Karnaugh Maps

a. Z = A•B•D+A•B'•C'+A'•B•C'+A'•C•D+A'•B'•D'

b. Z = B•D+A•B'•C'+A'•B•C'+A'•C•D+A'•B'•D'c. Z = B•D+A•B'•C'+A'•C'•D'+A'•B'•C

B

A

C

D

Z

1

0

0

0

1

1 0

0

1 1

1

1

1

1 1

0

B

A

C

D

Z

1

0

0

0

1

1 0

0

1 1

1

1

1

1 1

0

B

A

C

D

Z

1

0

0

0

1

1 0

0

1 1

1

1

1

1 1

0#5

#3 #2

#4

#1

a. Non-minimalProduct Terms

#1

#2#3

#4

#5#1

#2#3

#4

b. Non-minimal Selectionof Prime Implicants

c. MinimalGrouping

B

A

C

W3

1 0

0

0

1

10

1

11

11

1 11

1

D

B

A

C

D

W3

1 0

0

0

1

10

1

11

11

1 11

1

a. W3 = C'D+AC'+BC+A'B'D'b. W3 = BD+AB+B'C'+A'CD'

16Elec 326 Karnaugh Maps

Exercise: Derive minimal sum-of-products logical expressions from the following Karnaugh maps.

A

C

B

D

A

C

B

D

1 1 1

11

1

1 100

0 0 0

0

0

0

1 1 1

11

1

1 100

0 0 0

0

0

0

X Y

A•B + A'•B'•D' + A'•B'•C + B•C•D'X =

A'•C' + A•C•D' + A•B•C + B•C'•D'Y =

Page 9: K-map.pdf

9

17Elec 326 Karnaugh Maps

Minimal Product-Of-Sums Expressions

Merging Adjacent Product Terms.

A

C

Z

00

1

1

1 1

1B

1

Karnaugh Map

A'B'C'A

B'C'

B'C'Z Z

OR-AND Networks

M3•M7 = (A+B'+C')•(A'+B'+C')= (A•A')+(B'+C')= 0 + (B'+C')= B' + C'

18Elec 326 Karnaugh Maps

Rules for Grouping:Same as for sum-of-products, except that zero's are grouped instead of ones.

Resulting Sum Terms:If variable X has value 0 for all squares in the group, then the literal X is in the sum term.If variable X has value 1 for all squares in the group, then the literal X' is in the sum term.If variable X has value 0 for some squares in the group and value 1 for the others, then that variable does not appear in the sum term.

Prime Implicate:Maximal grouping of zeros.

Page 10: K-map.pdf

10

19Elec 326 Karnaugh Maps

Examples:

Z = (A+D')•(B'+C+D)•(A'+B+C'+D)

Z1 = (A+B'+D)•(B+C+D')•(A+B+D')Z2 = D'•(A+B')•(B'+C')

B

A

C

Z

10

0

0

1

10

1

1

11

1

1

D

0

0 0

B'+C+D

A+D'

A'+B+C'+D

B

A

C

Z2

0 11

1

D0 0

0

0

1

1

00

000

0

A

C

Z1

0 1

1

1

1 1

0 0

0

0

1

1 1

11

1

B

D

20Elec 326 Karnaugh Maps

Comparison of Sum-of-Products and Product-of-Sums Expressions.

A

C

Z1

0 11

1 1

0 0

0

0

1

1

B

D

0

0 0

0 0C

Z1

0 11

1

D0 0

0

0

1

1

00

00

0

1

A

B

Z1 = (A+B')•(A+D')•(B'+D')•(A'+B+C)Z1 = (A•B•D') + (A•B'•C) + (A'•B'•D')

Page 11: K-map.pdf

11

21Elec 326 Karnaugh Maps

A

C

B

D

A

C

B

D

1 1 1

01

0

0 011

1 0 0

1

1

0

1 1 1

01

0

0 011

1 0 0

1

1

0

X X

+ A•D'B•D' + A•C' + B•C'

Exercise: Derive minimal SOP and POS expressions from the following Karnaugh maps.

X = Y = (B' + D') • (A' + C')

22Elec 326 Karnaugh Maps

Don't Care EntriesAssignment of Values to Don't Care Entries.

A

B

Z

C0

1

d

1

1

d

00

A

B

Z

C0

1 1

1

00

1

1

A

B

Z

C0

1 1

1

00

0

0

0

A

B

Z

C

1 1

1

00

1

0

Z = B'+A'•C Z = A•B'+B'•C' Z = B'

1d0

1

0

0

0

0

0

1

0d

d

d

d

d

A

B

C

D

Z

1 d

1

0

0

0

1

0d

d

d

d

A

C

D

Z

d 1

1

1

B

Z = B•C + A•D' Z = (C+D')•(A'+B')

Page 12: K-map.pdf

12

23Elec 326 Karnaugh Maps

Minterm and Maxterm Lists with Don't Care Entries.

ΣA,B,C(0,d1,d3,4,5) and ΠA,B,C(d1,2,d3,6,7)

ΣA,B,C(6,7,8,d10,d11,d12,d13,d14,d15)

ΠA,B,C(0,1,2,3,4,5,9,d10,d11,d12,d13,d14,d15)

24Elec 326 Karnaugh Maps

Five- and Six-Variable MapsFive-Variable Maps.

D

C

E

B

D

C

E

B

A

0 4 12 81 5 13 9

3 7 15 112 6 14 10

16 20 28 2417 21 29 25

19 23 312618 22 30

27

Five-Variable Map Structure

B

C

D

Z

0

1

B

C

E3

2

4

5

7

6

8

9

11

12

13

15

14 10

16

17

19

18

20

21

23

22

28

29

31

30

24

25

27

26

A

Alternate Version of Five-Variable Map

D

E

Page 13: K-map.pdf

13

25Elec 326 Karnaugh Maps

Six-Variable Maps

E

D

F

C

E

D

F

C

0 4 12 81 5 13 9

3 7 15 112 6 14 10

16 20 28 2417 21 29 25

19 23 31 2718 22 30 26

E

D

F

C

E

D

F

C

48 52 60 5649 53 61 57

51 55 63 5950 54 62 58

32 36 44 4033 37 45 41

35 39 47 4334 38 46 42

Six Variable Map Structure

B

A

48

49

51

50

52

53

55

54

60

61

63

62

C

E

Z

0

1

C

F3

2

4

5

7

6

8

9

11

12

13

15

14 10

16

17

19

18

20

21

23

22

28

29

31

30

24

25

27

26

Alternate Version of Six-Variable Map

D

E

D

F

56

57

59

58

B

A

32

33

35

34

36

37

39

38

44

45

47

46

40

41

43

42

D DC C

F

F

E

E

26Elec 326 Karnaugh Maps

Examples.B

D

Z

01 0 0

0 0 1 1

0 0 1 1

01 0 0

C

B

E

01 0 0

0 0 1 1

0 0 1 1

01 0 0

CA

B•E

B' •C' • E'

Z = B'•C'•E'+B•E

B

C

D

Z B

C

E

A

0 10

0

1

11 0

0

00

111

1 1

0

0

0

0

0

1

1

0

01

1 1

1 1

1 1

A'B'D + CE + ABD + BD'E'

Page 14: K-map.pdf

14

27Elec 326 Karnaugh Maps

0

B

C

D

Z B

C

E

A

1 0

0

0

0

0 0 1

1

1

1

1

1

1

0

1

0 0 0

0

0

0 1

1

1

1

1

1

1

0

0

d

1

B

C

D

Z B

C

E

A

1

1

1

0

1

0

1

0

1

0

1

1

0

d

d

d

d

d

d d d d

0 0

11

d d d d

Z = (B+C)•(B+E•(A'+D+E)•(A+C+E)

Z = B•C + D

28Elec 326 Karnaugh Maps

Exercise: Draw a timing diagram for the following circuit assuming an equal unit delay for each gate.

Timing Hazards

A

B

X

Y

YA

B

X

Page 15: K-map.pdf

15

29Elec 326 Karnaugh Maps

Static 1 hazards

Without the delay in the gates, the output Z would be constant at 1. The spike is due to the gate delay and the fact that not every path from on input to the output is the same length.

A = 1

B = 1

SZ

P

QNS

S

P

NS

Q

Z0 spike, static 1 hazard

30Elec 326 Karnaugh Maps

There is a simple way to prevent the hazards using Karnaugh maps.

The hazard occurs when the output is 1 before and after the transition. It happens because one of the AND gates is holding the output 1 before the transition and the other AND gate holds it 1 after the transition. The spike occurs if it is possible for the first to turn off before the second turns on.This can happen anytime there are to adjacent squares on the Karnaugh map that are both 1 and not both covered by a common loop. The hazard occurs in making a transition from one square to the other.The way to prevent it is to put in an extra product term that is 1 on both sides of the transition. On the Karnaugh map this is a loop covering the two adjacent one squares.

10 0

0 1 1

1

0

S

A

B

Z

Page 16: K-map.pdf

16

31Elec 326 Karnaugh Maps

The loop added to prevent the hazard is redundant and not needed to realize the logical expression. Its only purpose is to prevent the hazard.

This technique will avoid all static 1 hazards if only one variable is changed at a time.It is not possible to get a 1 spike from a 2-level AND-OR network by changing only one variable. Why?

AS

B Z

32Elec 326 Karnaugh Maps

Static 0 hazard

The static 0 hazard is caused by two ORgates where one holds the output zero before the transition and the other after the

transition, and it is possible for them to both be 1 during the transitionThe fix is to put in an extra OR gate to hold the output zero during the transition

A = 0

B = 0

SZ

P

Q

1

00

0

1

1

1

0

A

B

Z

S

AS

B Z

S

P

NS

Q

Z

1 spike, static 0 hazard

Page 17: K-map.pdf

17

33Elec 326 Karnaugh Maps

Hazards can frequently be ignored. If the signal Z above is not used during the transition, then we don't care if it has a spike. When a signal is used as the input to a flip-flop, it is only sampled with the clock makes a transition. Therefore, if we can make sure that any spikes occur at some other time, they will not be a problem.