25
EECS 465: Digital Systems Lecture Notes # 2 Two-Level Minimization Using Karnaugh Maps SHANTANU DUTT Department of Electrical & Computer Engineering University of Illinois, Chicago Phone: (312) 355-1314: e-mail: [email protected] URL: http://www.ece.uic.edu/~dutt

EECS 465: Digital Systems Lecture Notes # 2 Two-Level Minimization Using Karnaugh Maps SHANTANU DUTT Department of Electrical & Computer Engineering University

Embed Size (px)

Citation preview

Page 1: EECS 465: Digital Systems Lecture Notes # 2 Two-Level Minimization Using Karnaugh Maps SHANTANU DUTT Department of Electrical & Computer Engineering University

EECS 465: Digital Systems

Lecture Notes # 2

Two-Level Minimization Using Karnaugh Maps

SHANTANU DUTT

Department of Electrical & Computer EngineeringUniversity of Illinois, Chicago

Phone: (312) 355-1314: e-mail: [email protected]: http://www.ece.uic.edu/~dutt

Page 2: EECS 465: Digital Systems Lecture Notes # 2 Two-Level Minimization Using Karnaugh Maps SHANTANU DUTT Department of Electrical & Computer Engineering University

Concepts in 2-Level Minimization• Defn: An implicant g of a function is a product term (e.g., g=xyz) s.t. when g=1 f=1• Defn: A minterm is an implicant whose product term representation consists of all n variables of an n-var. function (each in either compl.or uncompl. form)• Defn: Let g, and h be 2 implicants of a function f. g is said to cover h if h=1 g=1 (e.g., g = xz, h = xyz)• Defn: Let G = {g1, .., gk} be a set of implicants of func f, and let h be another implicant of f. Then G is covers h if h=1 g1+ .. + gk =1 (generalized covering).•Defn: An SOP or POS expression is also called a 2-level expression• Defn: A 2-level AND-OR (OR-AND) gate realization of an SOP(POS) expression is one in which all product terms (OR terms in POS) in the SOP (POS) expression are implementedby multiple input AND (OR) gates & the ORing (ANDing) of the product (OR) terms is realized by a multiple input OR(AND) gate.

2

Page 3: EECS 465: Digital Systems Lecture Notes # 2 Two-Level Minimization Using Karnaugh Maps SHANTANU DUTT Department of Electrical & Computer Engineering University

AB + BC + ACDA

B

BCACD

f1

Level 2

Level 1

(B + C)(A + D)(C + D) B

C

A

D

CD

f2

3

Page 4: EECS 465: Digital Systems Lecture Notes # 2 Two-Level Minimization Using Karnaugh Maps SHANTANU DUTT Department of Electrical & Computer Engineering University

E.g. f1 = AB + BC + ACD --- 2-level. (SOP)f2 = ( B+C )( A+D )( C+D ) --- 2-level (POS)f3 =AB + AC( B+D ) --- not SOP or POS level 1 I/Ps --- not 2-level

--- 3 level ( can be realized directly by 3 levels of gates)

A

B

A

C

B

D

f3

level 1gates

level 0I/Ps

level 2gates

level 3gate

level 2I/Ps

3

Page 5: EECS 465: Digital Systems Lecture Notes # 2 Two-Level Minimization Using Karnaugh Maps SHANTANU DUTT Department of Electrical & Computer Engineering University

•Defn. A gate in a logic circuit is a level-1 gate if all its inputs areprimary inputs (i.e., literals, A, A, B, B, etc.)

A gate is a level-i gate i > 1 if the highest-level gate whose output feeds the (level-i) gate is a level-(i-1) gate.

•NOTE: If a given expr. is not 2-level, we can convert it to a 2-level one using the distributive law.

• The goal of 2-level minimization is to minimize the number ofliterals (a literal is a var. in complemented or uncompl. form)in a 2-level logic expr..

• This approx. reduces the total # of inputs over all level-1 gates (AND gates in an SOP expr. , OR gates in a POS expr.) in the circuit in a 2-level gate realization.

5

Page 6: EECS 465: Digital Systems Lecture Notes # 2 Two-Level Minimization Using Karnaugh Maps SHANTANU DUTT Department of Electrical & Computer Engineering University

E.g. f = ABC + ABC + ABC (non-minimized 9 literals)ABCABCABC

f

(12 gate I/Ps)= Circuit complexity

f = AB + AC (minimized 4 literals)A

B

A

C

f(6 gate I/Ps)= Circuit complexity

6

Note: Minimizing # of literals + # of product terms minimizing total # of gate inputs in a 2-level impl. approx. min. total # of gate i/ps of a multi-level impl. (reqd. when gates of certain sizes reqd. by the minimized expression is not available)

Page 7: EECS 465: Digital Systems Lecture Notes # 2 Two-Level Minimization Using Karnaugh Maps SHANTANU DUTT Department of Electrical & Computer Engineering University

Multilevel Minimization (Example):

f = x1x2x3 + x2x3x4 + x1x5 + x4x5 (2-level minimized)

7

• Cost = 8 (# of gate i/ps).• Can increase delay though due to more levels

of gates & more interconnects that the critical path has to go through

• Simple gate delay model: prop. to # of inputs

Gate Impl.:

x2

x3

x5

x1

x4

f

Multilevelcircuit

Critical path goes through 3 2-i/p gates (6 units of delay) and 2 interconns. (not counting i/p and o/p interconnects). The critical path in a 2-level impl. of the above SOP expr. will go through a total of 7 gate units of delay but only 1 interconnect.

Apply distributive law (factoring)f = x2x3(x1 + x4) + x5(x1 + x4) = (x2x3 + x5)(x1 + x4) -- Multilevel expr.

Cost = 14 (# of gate i/ps in a 2-level impl.)

Page 8: EECS 465: Digital Systems Lecture Notes # 2 Two-Level Minimization Using Karnaugh Maps SHANTANU DUTT Department of Electrical & Computer Engineering University

Defn. Two implicants (or product terms) of a function f are said tobe adjacent (logically) if they have the same literalsexcept in one variable xi which occurs in uncomplemented form(xi) in one implicant and in complemented form (xi) in theother. The 2 implicants are said to differ in xi.

E.g. ABC, ABC (adjacent implicants, differ in B)

ABD, ABC (not adjacent)

NOTE: Adjacent implicants can be combined into one implicantby the combining theorem (ABC + ABC = AC)

8

Page 9: EECS 465: Digital Systems Lecture Notes # 2 Two-Level Minimization Using Karnaugh Maps SHANTANU DUTT Department of Electrical & Computer Engineering University

Karnaugh Maps

2-variable TT outputs

A B Z1 Z2

0 0 0 00 1 1 11 0 0 11 1 1 0

Binaryplace-valueordering(Binaryordering)

Physically adjacentbut not logicallyadjacent.

logically adjacent but not physically adjacent AB + AB

BAnother ordering of inputs ( Gray-code ordering)

A B Z1

0 0 00 1 11 1 11 0 0

Z1 = BPhysically as well as logically adjacent.

9

Page 10: EECS 465: Digital Systems Lecture Notes # 2 Two-Level Minimization Using Karnaugh Maps SHANTANU DUTT Department of Electrical & Computer Engineering University

n-variable Gray-code ordering

G1 = 0 Base. 1G2 = 0 G1

1 rev(G1)=

0 00 11 11 0

G3 = 0 G2

1 rev(G2)=

A B C 0 0 0 0 0 10 1 1 0 1 01 1 01 1 1 1 0 11 0 0

Gn = 0 Gn-1

1 rev(Gn-1)

Convert to a 2-dimensionalGray-code ordered TT

ABC 00 01 11 10

0

1

x

y •

001

110

Throw away variable (A) changing across the 2 squares. We thus obtain BC.

1 1

Defn. Gi = i-bit Gray-code orderingrev(Gi) = reverse order of Gi

10

Page 11: EECS 465: Digital Systems Lecture Notes # 2 Two-Level Minimization Using Karnaugh Maps SHANTANU DUTT Department of Electrical & Computer Engineering University

Defn. A Prime Implicant (PI) of a function f is an implicant of f that is not covered by any other implicant of f.Defn. An Essential PI is a PI that covers/includes at least one minterm that is not covered by any other PI.

Four PIs AB, BC, AC, AB formed. Not all these PIs are needed in the expression. Only a minimum set that covers all minterms is needed.

11Example ( 3-var. K-Map)

Function f:AB

C 00 01 11 10

0

1

1 1 1

1 1f = AB + AB + AC + BC

Consensus = BC

A’B’ AB

AC’B’C’

Note: 1) that the consensus theorem is an example of generalized covering discussed earlier.2) AC’ is also a consensus, this time of AB and B’C’. Can’t discard both simultaneously! Need to apply gen. covering (incl. consensus) one at a time.

Gray code ordering

In the above example, AB & AB are essential PIs. These will need to be present in any SOP expr. of the function. To form a minimal set, the PI BC can be used. Thus f = AB + AB + BC is a minimized expression.

Page 12: EECS 465: Digital Systems Lecture Notes # 2 Two-Level Minimization Using Karnaugh Maps SHANTANU DUTT Department of Electrical & Computer Engineering University

Larger than 2-minterm PIs can also exist:E.g., AB

C 00 01 11 10

0

1

1 1

1 1

AB ABBB

ABC 00 01 11 10

0

1 1 1 1 1

C

• 2-minterm implicants (AB, AB in the 1st example above) can be merged if they are logically adjacent to form a 4-mintermimplicant and so on.

12

Page 13: EECS 465: Digital Systems Lecture Notes # 2 Two-Level Minimization Using Karnaugh Maps SHANTANU DUTT Department of Electrical & Computer Engineering University

• When an implicant can not be “grown” any further, then it is a PI.

• Defn. In a K-map, 2 implicants can be logically adjacent if theyare symmetric,i.e., if : (1) They are disjoint (no common minterms). (2) They cover the same # of minterms. (3) Each minterm in one implicant is adjacent to a unique minterm in the other implicant.

More Examples:AB

C

AB

C

00 01 11 10

0

1

0

11 1

1 1 1

1 1

1 1 1

Symmetric ( logically adjacent)

Not symmetric

2-minterm implicants : Can be “merged” to forma 4-minterm implicant, which will be a PI.

Redrawn

Both PIs(A, BC)areessential.

Thus, f = A + BC is minimized.

00 01 11 10

13

Page 14: EECS 465: Digital Systems Lecture Notes # 2 Two-Level Minimization Using Karnaugh Maps SHANTANU DUTT Department of Electrical & Computer Engineering University

4-variable K-Map:

ABCD 00 01 11 10

00

01

11

10

14

Gray code ordering

Gray code ordering

Page 15: EECS 465: Digital Systems Lecture Notes # 2 Two-Level Minimization Using Karnaugh Maps SHANTANU DUTT Department of Electrical & Computer Engineering University

Example:AB

CD

ABCD

00 01 11 10

00

01

11

10

00

01

11

10

00 01 11 10

1 1 1 1

1 1

1 1 1 1

1 1

1 1

1 1 1

1

AC

f = AC + D Instead of starting with 2-mintermimplicants & growing them, youcan form larger implicants directlyby grouping power of 2 (2, 4, 8,etc.) # of minterms so as to form a rectangle or square ( a convex region).

Convex

Concave

Validgroupings

Invalid grouping(region formed is concave)

f = AB + AC + BCD

D

15

Page 16: EECS 465: Digital Systems Lecture Notes # 2 Two-Level Minimization Using Karnaugh Maps SHANTANU DUTT Department of Electrical & Computer Engineering University

Another Example:

A B C D Z0 0 0 0 10 0 0 1 00 0 1 0 10 0 1 1 10 1 0 0 00 1 0 1 10 1 1 0 10 1 1 1 11 0 0 0 11 0 0 1 01 0 1 0 11 0 1 1 11 1 0 0 01 1 0 1 01 1 1 0 11 1 1 1 1

TT:

Binaryorder

ABCD 00 01 11 10

00

01

11

10

1 1

1

1 1 1 1

1 1 1 1

ABD

BD

C

f = C + BD + ABD

16

Page 17: EECS 465: Digital Systems Lecture Notes # 2 Two-Level Minimization Using Karnaugh Maps SHANTANU DUTT Department of Electrical & Computer Engineering University

Don’t Cares in K-Maps

• Many times certain input combinations are invalid for a function(E.g. BCD to 7-segment display functions; see pp. 212-214 inKatz text )

• For such combinations, we do not care what the output is, andwe put an ‘x’ in the o/p column for the TT

A B C f0 0 0 1 0 0 1 00 1 0 10 1 1 x1 0 0 01 0 1 11 1 0 x1 1 1 x

ABCD 00 01 11 10

0

1

x x 1 0

0 1 1 0

f = BC + AB by considering all x’s as 0s

f = B The x’s can, however, be profitably used to make larger PIs & thus further simplify the function.

17

by selectively considering the 010cell’s x as 1

Page 18: EECS 465: Digital Systems Lecture Notes # 2 Two-Level Minimization Using Karnaugh Maps SHANTANU DUTT Department of Electrical & Computer Engineering University

• In a K-map, the ‘x’s can be profitably used to form larger implicants (which have fewer literals)

• However, when we need to form a minimal PI cover, we need to worry only about covering the minterms ( the 1s), and not the Xs.

Example: f(A,B,C,D) = m(1,3,5,7,9) + d(2,6,12,13)

A B C D0 0 0 0 0 0 0 10 0 1 00 0 1 1

• • • f = CD + AD

or CD + AC If input comb. 2,6 occuro/p is 0.If inputs 2,6 occur o/p = 1.

ABCD 00 01 11 10

00

01

11

10

0 4 12 x 8

1 1 5 1 13 x 9 1

3 1 7 1 15 11

2 x 6 x 14 10

LSBs

MSBs

CD

AC

AD

18

• Thus as far as x’s are concerned, we can have the cake and eat it too!

Which to use for lower dynamic power (consumed on a 0 1 transition at the o/p)?

Page 19: EECS 465: Digital Systems Lecture Notes # 2 Two-Level Minimization Using Karnaugh Maps SHANTANU DUTT Department of Electrical & Computer Engineering University

STEPS IN K-MAP MINIMIZATION (sop EXPR.)

STEP1: Form all PIs by including the Xs with the 1s to form larger PIs. (Do not form PIs covering only Xs !)

STEP2: Identify all essential PIs by visiting each minterm (1s) & checking if it is covered by only one PI. If so, then that PI is an essential PI.

STEP3: Identify all 1s not covered by essential PIs. Select a minimal- cost set of PIs S to cover them. This requires some trial-and error (in fact, this is a hard computational problem).

STEP4: Minimal SOP Expr. for function f:

PI Pi is in set S

f = essential PIs + PiPi

S

19

Page 20: EECS 465: Digital Systems Lecture Notes # 2 Two-Level Minimization Using Karnaugh Maps SHANTANU DUTT Department of Electrical & Computer Engineering University

Minimal POS Expr. from a K-Map :

METHOD 1: Obtain minimal SOP expression for the complementfunction f, and complement this SOP expression to get a minimal POS expr. for f (using De-Morgan’s Law)

Example:

F (A,B,C,D) = M(0,2,4,8,10,11,14,15) D(6,12,13)

Big M notation

0s of FXs of F

ABCD AB

CD 00 01 11 10

00

01

11

10

00

01

11

10

0 4 12 8

1 5 13 9

3 1 7 1 15 0 11 0

2 0 6 x 14 0 10 0

0 0 x 0

1 1 x 1

Complement 1 1 x 1

0 0 x 00 0 1 1

1 x 1 1AC

D

F =D + AC F = D + AC = D(A +C)

F F

20

Page 21: EECS 465: Digital Systems Lecture Notes # 2 Two-Level Minimization Using Karnaugh Maps SHANTANU DUTT Department of Electrical & Computer Engineering University

Example: (Method2: Direct Method)

ABCD 00 01 11 10

00

01

11

10

0 0 x 0

1 1 x 1

1 1 0 0

0 x 0 0

(A + C)

D

(OR terms)

Prime Implicate( Groups of 0s that cannotbe grown any further)

Both D and A + C areEssential Prime Implicates.

F = D( A + C )

( Product of Prime Implicates )

21

Page 22: EECS 465: Digital Systems Lecture Notes # 2 Two-Level Minimization Using Karnaugh Maps SHANTANU DUTT Department of Electrical & Computer Engineering University

METHOD2 : Direct Method :

(1) Obtain all prime implicates (PTs) (largest groups of 0s & Xs of size 2 , i 0, forming a convex region, that can not be “grown”any further).

(2) Identify all essential PTs (those that cover at least one 0 notcovered by any other PT).

(3) Choose a minimal set T of PTs to cover the 0s not covered bythe set of essential PTs.

(4) The expression for a PT is an OR term obtained by discardingall changing variables, & keeping variables complemented if theyare constant at 1 or uncomplemented if they are constant at 0 &taking the OR (sum) of these literals.

(5) Minimal POS Expr.:

f = (essential PTs) • qiqi T

22

i

Page 23: EECS 465: Digital Systems Lecture Notes # 2 Two-Level Minimization Using Karnaugh Maps SHANTANU DUTT Department of Electrical & Computer Engineering University

5-variable K-map: f(A,B,C,D,E): Juxtapose two 4-var. K-submapsone for the MSB A=0 and the other for A=1:

BCDE

BCDE00 01 11 10

00

01

11

10

00 01 11 10

00

01

11

10

BCDE

BCDE00 01 11 10

00

01

11

10

00 01 11 10

00

01

11

10

A=0 A=1

A=0 A=1

0 4 12 8

1 5 13 9

3 7 15 11

2 6 14 10

16 20 28 24

17 21 29 25

19 23 31 27

18 22 30 26

0 1 4 12 1 8

1 5 13 1 9

3 1 7 1 15 x 11

2 6 14 x 10

16 20 28 x 24

17 21 29 1 25

19 x 23 1 31 x 27

18 22 1 30 1 26

4-var. K-submap 4-var. K-submapAdjacencies of a square: Adjacent squares of the 4-var. K-submapplus the “corresponding” or “mirror” square in the other 4-var.K-submap.

Example:

23

Page 24: EECS 465: Digital Systems Lecture Notes # 2 Two-Level Minimization Using Karnaugh Maps SHANTANU DUTT Department of Electrical & Computer Engineering University

EF EF00 01 11 10

00

01

11

10

00 01 11 10

00

01

11

10

0 4 12 8

1 5 13 9

3 7 15 11

2 6 14 10

16 20 28 24

17 21 29 25

19 23 31 27

18 22 30 26

6-variable K-map: f(A,B,C,D,E,F)--Juxtapose two 5-var. K-submapsone for the MSB A=0 and other for A=1

B=0 B=1

A=05-var.K-submap

EF EF00 01 11 10

00

01

11

10

00 01 11 10

00

01

11

10

32 36 44 40

33 37 45 41

35 39 47 43

34 38 46 42

48 52 60 56

49 53 61 57

51 55 63 59

50 54 62 58

CD CD

CD CD

A=1

5-var.K-submap

Adjacencies of a square: Adjacent squares of the 5-var.K-submap plus the “corresponding” or “mirror” squarein the other 5-var. K-submap.

B=0 B=1

24

Page 25: EECS 465: Digital Systems Lecture Notes # 2 Two-Level Minimization Using Karnaugh Maps SHANTANU DUTT Department of Electrical & Computer Engineering University

EF EF00 01 11 10

00

01

11

10

00 01 11 10

00

01

11

10

0 4 12 8

1 5 13 9

3 7 15 11

2 6 14 10

16 20 28 24

17 21 29 25

19 23 31 27

18 22 30 26

B=0 B=1

A=0

EF EF00 01 11 10

00

01

11

10

00 01 11 10

00

01

11

10

32 36 44 40

33 37 45 41

35 39 47 43

34 38 46 42

48 52 60 56

49 53 61 57

51 55 63 59

50 54 62 58

CD CD

A=1

B=1

6-variable K-map: f(A,B,C,D,E,F,)---Example:

CD CD

B=0

25