16
CMSC 313 Lecture 20 • More Karnaugh Map examples • Quine-McCluskey (Tabular Reduction) UMBC, CMSC313, Richard Chang <[email protected]>

•More Karnaugh Map examples •Quine-McCluskey …chang/cs313.f04/topics/Sl… ·  · 2004-11-19•More Karnaugh Map examples •Quine-McCluskey (Tabular ... •Takes 2n time for

Embed Size (px)

Citation preview

CMSC 313 Lecture 20

• More Karnaugh Map examples

• Quine-McCluskey (Tabular Reduction)

UMBC, CMSC313, Richard Chang <[email protected]>

Last Time

• Combinational logic components

• Introduction to Karnaugh Maps

UMBC, CMSC313, Richard Chang <[email protected]>

Notes on K-maps

• Also works for POS

• Takes 2n time for formulas with n variables

• Only optimizes two-level logicReduces number of terms, then number of literals in each term

• Assumes inverters are free

• Does not consider minimizations across functions• Circuit minimization is generally a hard problem

• Quine-McCluskey can be used with more variables

• CAD tools are available if you are serious

UMBC, CMSC313, Richard Chang <[email protected]>

Circuit Minimization is Hard

• Unix systems store passwords in encrypted form.User types in x, system computes f(x) and looks for f(x) in a file.

• Suppose we us 64-bit passwords and I want to find the password x, such that f(x) = y. Let gi(x) = 0 if f(x) = y and the ith bit of x is 0 1 otherwise.

• If the ith bit of x is 1, then gi(x) outputs 1 for every x and has a very, very simple circuit.

• If you can simplify every circuit quickly, then you can crack passwords quickly.

UMBC, CMSC313, Richard Chang <[email protected]>

Appendix B: Reduction of Digital LogicB-16

Principles of Computer Architecture by M. Murdocca and V. Heuring © 1999 M. Murdocca and V. Heuring

3-Level Majority Circuit• K-Map Reduction results in a reduced two-level circuit (that is,

AND followed by OR. Inverters are not included in the two-levelcount). Algebraic reduction can result in multi-level circuits witheven fewer logic gates and fewer inputs to the logic gates.

M

A B C

Karnaugh Maps

Implicant: rectangle with 1, 2, 4, 8, 16 ... 1’s

Prime Implicant: an implicant that cannot be extended into a larger implicant

Essential Prime Implicant: the only prime implicant that covers some 1

K-map Algorithm (not from M&H):

1. Find ALL the prime implicants. Be sure to check every 1 and to use don’t cares.

2. Include all essential prime implicants.

3. Try all possibilities to find the minimum cover for the remaining 1’s.

UMBC, CMSC313, Richard Chang <[email protected]>

10

11

9

14

15

13

6

7

5

2

3

1

81240

00 01 11 10

00

01

11

10

AB

CD 11

A

B

D

C

10

11

9

14

15

13

6

7

5

2

3

1

81240

00 01 11 10

00

01

11

10

AB

CD 11

A

B

D

C

10

11

9

14

15

13

6

7

5

2

3

1

81240

00 01 11 10

00

01

11

10

AB

CD 11

A

B

D

C

10

11

9

14

15

13

6

7

5

2

3

1

81240

00 01 11 10

00

01

11

10

AB

CD 11

A

B

D

C

10

11

9

14

15

13

6

7

5

2

3

1

81240

00 01 11 10

00

01

11

10

AB

CD 11

A

B

D

C

10

11

9

14

15

13

6

7

5

2

3

1

81240

00 01 11 10

00

01

11

10

AB

CD 11

A

B

D

C

CMSC 313 Computer Organization & Assembly Language Programming Section 0101Fall 2004 Homework 4

Due: Thursday, November 18, 2003

1. (10 points) Question 3.9, page 96, Murdocca & Heuring

2. (10 points) Question 3.14, page 97, Murdocca & Heuring

3. (10 points) Question A.12, page 494, Murdocca & Heuring

4. (50 points) In the following, the notation∑

m(x1, . . . , xj) indicates a Boolean functionthat is the sum of the minterms x1, . . . , xj , where xi is the ith minterm in canonicalordering — i.e., the ith row of the truth table where the input values are ordered asbinary numbers. Similarly,

∑m(x1, . . . , xj) + d(y1, . . . , yk)

indicates a Boolean function that is the sum of the minterms x1, . . . , xj and whosevalues for rows y1, . . . , yk of the truth table are don’t cares.

Minimize the following functions using Karnaugh maps. Then, write down a Booleanformula in sum-of-products or product-of-sums form for each function. Show yourwork (including the Karnaugh maps).

(a) f(A,B,C,D) =∑

m(0, 1, 2, 8, 9, 14, 15)

(b) f(A,B,C,D) =∑

m(0, 2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 15)

(c) f(A,B,C,D) =∑

m(2, 3, 4, 5, 6, 7, 8, 9, 10, 13)

(d) f(A,B,C,D) =∑

m(4, 12, 13, 14, 15) + d(0, 3, 5, 8)

(e) f(A,B,C,D) =∑

m(0, 2, 4, 8, 10, 12, 13) + d(5, 14, 15)

Appendix B: Reduction of Digital LogicB-14

Principles of Computer Architecture by M. Murdocca and V. Heuring © 1999 M. Murdocca and V. Heuring

Five-Variable K-Map• Visualize two 4-variable K-maps stacked one on top of the other;

groupings are made in three dimensional cubes.

01 11

001

011

10CDE

010

000

00AB

01 11

101

111

10CDE

110

100

00AB

1 1

1 1

1 11 1

1 1

11

F = A C D E + A B D E + B E

Appendix B: Reduction of Digital LogicB-15

Principles of Computer Architecture by M. Murdocca and V. Heuring © 1999 M. Murdocca and V. Heuring

Six-Variable K-Map• Visualize four 4-variable K-maps stacked one on top of the other;

groupings are made in three dimensional cubes.

001 011

001

011

010DEF

010

000

000ABC

001 011

101

111

010DEF

110

100

000ABC

101 111

001

011

110DEF

010

000

100ABC

101 111

101

111

110DEF

110

100

100ABC

1

11

1

1

1 1

1

G = B C E F + A B D E

Appendix B: Reduction of Digital LogicB-19

Principles of Computer Architecture by M. Murdocca and V. Heuring © 1999 M. Murdocca and V. Heuring

Truth Table with Don’t Cares

• A truth table repre-sentation of a singlefunction with don’tcares.

0011001100110011

0101010101010101

C D

0000111100001111

B

d1010111001d010d

F

0000000011111111

A

Appendix B: Reduction of Digital LogicB-20

Principles of Computer Architecture by M. Murdocca and V. Heuring © 1999 M. Murdocca and V. Heuring

Tabular (Quine-McCluskey) Reduction• Tabular reduction be-

gins by groupingminterms for which Fis nonzero accordingto the number of 1’s ineach minterm. Don’tcares are consideredto be nonzero.

• The next step forms aconsensus (the logicalform of a cross prod-uct) between each pairof adjacent groups forall terms that differ inonly one variable.

0010111101

0111001111

C D

0001101011

B

0000010111

A

√ √ √ √ √ √ √ √ √ √

0_011_01111_

_111111__111

C D

00__011101_1

B

0000_0_01_11

A

*√ √ √ √ √ √ **√ √ √

_1_

111

C D

__1

B

0__

A

***

Initial setup After firstreduction

After secondreduction

(a)

(b)

(c)

Appendix B: Reduction of Digital LogicB-21

Principles of Computer Architecture by M. Murdocca and V. Heuring © 1999 M. Murdocca and V. Heuring

Table of Choice• The prime implicants form a set that completely covers the func-

tion, although not necessarily minimally.

• A table of choice is used to obtain a minimal cover set.

0

0

1

0

_

_

0

1

0

_

_

1

0

1

1

_

1

_

_

_

_

1

1

1

0001 0011 0101 0110 0111 1010 1101

MintermsPrimeImplicants

√ √ √ √

√ √

√ √ √

*

*

*

Appendix B: Reduction of Digital LogicB-22

Principles of Computer Architecture by M. Murdocca and V. Heuring © 1999 M. Murdocca and V. Heuring

Reduced Table of Choice• In a reduced table of choice, the essential prime implicants and

the minterms they cover are removed, producing the eligible set .

• F = ABC + ABC + BD + AD

0

0

_

0

_

_

0

_

1

_

1

1

0001 0011

MintermsEligibleSet

Set 1

0 0 0 _

_ _ 1 1

Set 2

0 _ _ 1

X

Y

Z √

Appendix B: Reduction of Digital LogicB-23

Principles of Computer Architecture by M. Murdocca and V. Heuring © 1999 M. Murdocca and V. Heuring

Multiple Output Truth Table• The power of tabular reduction comes into play for multiple func-

tions, in which minterms can be shared among the functions.

00110011

01010101

B C

00001111

A

10010001

F0

01011011

F1

00110011

F2

m0

m1

m2

m3

m4

m5

m6

m7

Minterm

Appendix B: Reduction of Digital LogicB-24

Principles of Computer Architecture by M. Murdocca and V. Heuring © 1999 M. Murdocca and V. Heuring

Multiple Output Table of ChoiceF0(A,B,C) = ABC + BC

F1(A,B,C) = AC + AC + BC

F2(A,B,C) = B

0

0

1

_

1

_

0

_

_

1

1

1

0

1

0

_

_

1

PrimeImplicants

m0 m3 m7 m1 m3 m4 m6 m7 m2 m3 m6 m7

F0(A,B,C) F1(A,B,C) F2(A,B,C)Min-terms

F0

F1

F1

F2

F1,2

F0,1,2

√ √

√ √

√ √ √ √

√ √

√ √ √ √ √ √

*

*

*

*

*

√ √