ece c03 lecture 21 lecture 2 two level minimization hai zhou ece 303 advanced digital design spring...

29
ECE C03 Lecture 2 1 Lecture 2 Two Level Minimization Hai Zhou ECE 303 Advanced Digital Design Spring 2002

Post on 19-Dec-2015

219 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: ECE C03 Lecture 21 Lecture 2 Two Level Minimization Hai Zhou ECE 303 Advanced Digital Design Spring 2002

ECE C03 Lecture 2 1

Lecture 2Two Level Minimization

Hai Zhou

ECE 303

Advanced Digital Design

Spring 2002

Page 2: ECE C03 Lecture 21 Lecture 2 Two Level Minimization Hai Zhou ECE 303 Advanced Digital Design Spring 2002

ECE C03 Lecture 2 2

Outline

• Boolean algebra review• Two-level minimization• Karnaugh maps• READING: Katz 1.3, 1.4, 2.1, 2.2, 2.3, Dewey

1.3, 1.4, 4.2, 4.3, 4.4

Page 3: ECE C03 Lecture 21 Lecture 2 Two Level Minimization Hai Zhou ECE 303 Advanced Digital Design Spring 2002

ECE C03 Lecture 2 3

Boolean Algebra

Algebraic structure consisting of:

set of elements B

binary operations {+, •}

unary operation {'}

such that the following axioms hold:

1. B contains at least two elements, a, b, such that a � b

2. Closure a,b in B, (i) a + b in B (ii) a • b in B

3. Commutative Laws: a,b in B, (i) a + b = b + a (ii) a • b = b • a

4. Identities: 0, 1 in B (i) a + 0 = a (ii) a • 1 = a

5. Distributive Laws: (i) a + (b • c) = (a + b) • (a + c) (ii) a • (b + c) = a • b + a • c

6. Complement: (i) a + a' = 1 (ii) a • a' = 0

Page 4: ECE C03 Lecture 21 Lecture 2 Two Level Minimization Hai Zhou ECE 303 Advanced Digital Design Spring 2002

ECE C03 Lecture 2 4

Boolean Functions

B = {0,1}, + = OR, • = AND, ' = NOT is a Boolean Algebra

must verify that the axioms hold:E.g., Commutative Law:

0 + 1 = 1 + 0?1 = 1

0 • 1 = 1 • 0?0 = 0

Theorem: any Boolean function that can be expressed as a truth table can be written as an expression in Boolean Algebra using ', +, •

Reviewfrom

Chapter 1

Description Z = 1 if X and Y are both 1

Gates Truth Table Switches

XY

ZY 0 1 0 1

X 0 0 1 1

Z 0 0 0 1

X Y

X • Y

false

true

NOT

AND

Description If X = 0 then X ' = 1 If X = 1 then X ' = 0

Switches Gates

X

X X 0 1

X 1 0

T ruth T able

X T rue

False X

Page 5: ECE C03 Lecture 21 Lecture 2 Two Level Minimization Hai Zhou ECE 303 Advanced Digital Design Spring 2002

ECE C03 Lecture 2 5

Logic Functions: Expressions to Gates

More than one way to map an expression to gates

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

T1

T2

Literal: each appearance of a variable or its complement in an expression

E.g., Z = A B' C + A' B + A' B C' + B' C

use of 3-input gate

3 variables, 10 literals

A

B

C

D T

2

T 1

Z

Z

A

B

C

D

Page 6: ECE C03 Lecture 21 Lecture 2 Two Level Minimization Hai Zhou ECE 303 Advanced Digital Design Spring 2002

ECE C03 Lecture 2 6

Logic Functions: NAND and NOR

NAND, NOR gates far outnumber AND, OR in typical designs

easier to construct in the underlying transistor technologies

Any Boolean expression can be implemented by NAND, NOR, NOT gates

In fact, NOT is superfluous (NOT = NAND or NOR with both inputs tied together)

X0

1

Y0

1

X NOR Y1

0

X0

1

Y0

1

X NAND Y1

0

Page 7: ECE C03 Lecture 21 Lecture 2 Two Level Minimization Hai Zhou ECE 303 Advanced Digital Design Spring 2002

ECE C03 Lecture 2 7

Simplifying Logic Functions

Logic Minimization: reduce complexity of the gate level implementation

• reduce number of literals (gate inputs)

• reduce number of gates

• reduce number of levels of gates

fewer inputs implies faster gates in some technologies

fan-ins (number of gate inputs) are limited in some technologies

fewer levels of gates implies reduced signal propagation delays

minimum delay configuration typically requires more gates

number of gates (or gate packages) influences manufacturing costs

Traditional methods: reduce delay at expense of adding gates

New methods: trade off between increased circuit delay and reduced gate count

Traditional methods: reduce delay at expense of adding gates

New methods: trade off between increased circuit delay and reduced gate count

Page 8: ECE C03 Lecture 21 Lecture 2 Two Level Minimization Hai Zhou ECE 303 Advanced Digital Design Spring 2002

ECE C03 Lecture 2 8

Alternative Logic Implementations

Two-Level Realization(inverters don't count)

Multi-Level RealizationAdvantage: Reduced Gate

Fan-ins

Complex Gate: XORAdvantage: Fewest Gates

TTL Package Counts: Z1 - three packages (1x 6-inverters, 1x 3-input AND, 1x 3-input OR) Z2 - three packages (1x 6-inverters, 1x 2-input AND, 1x 2-input OR) Z3 - two packages (1x 2-input AND, 1x 2-input XOR)

0 1 0 1 0 1

A B C

0

0

Z 1

Z 2

Z 3

0

A 0 0 0 0 1 1 1 1

B 0 0 1 1 0 0 1 1

C 0 1 0 1 0 1 0 1

Z 0 1 0 1 0 1 1 0

Page 9: ECE C03 Lecture 21 Lecture 2 Two Level Minimization Hai Zhou ECE 303 Advanced Digital Design Spring 2002

ECE C03 Lecture 2 9

Laws of Boolean Algebra

Duality: a dual of a Boolean expression is derived by replacing AND operations by ORs, OR operations by ANDs, constant 0s by 1s, and 1s by 0s (literals are left unchanged).

Any statement that is true for an expression is also true for its dual!

Useful Laws/Theorems of Boolean Algebra:

Operations with 0 and 1:

Idempotent Law:

Involution Law:

Laws of Complementarity:

Commutative Law:

1. X + 0 = X2. X + 1 = 1

1D. X • 1 = X2D. X • 0 = 0

3. X + X = X 3D. X • X = X

4. (X')' = X

5. X + X' = 1 5D. X • X' = 0

6. X + Y = Y + X 6D. X • Y = Y • X

Page 10: ECE C03 Lecture 21 Lecture 2 Two Level Minimization Hai Zhou ECE 303 Advanced Digital Design Spring 2002

ECE C03 Lecture 2 10

Laws of Boolean Algebra

Distributive Laws:

Simplification Theorems:

DeMorgan's Law:

Duality:

Theorems for Multiplying and Factoring:

Consensus Theorem:

8. X • (Y+ Z) = (X • Y) + (X •Z)� 8D. X + (Y• Z) = (X + Y) • (X + Z)

9. X • Y + X • Y' = X10. X + X • Y = X11. (X + Y') • Y = X • Y

9D. (X + Y) • (X + Y') = X10D. X • (X + Y) = X11D. (X • Y') + Y = X + Y

12. (X + Y + Z + ...)' = X' • Y' • Z' • ...13. {F(X1,X2,...,Xn,0,1,+,•)}' = {F(X1',X2',...,Xn',1,0,•,+)}

12D. (X • Y • Z • ...) ' = X' + Y' + Z' + ...

14. (X + Y + Z + ...) = X • Y • Z • ...

15. {F(X1,X2,...,Xn,0,1,+,•)} = {F(X1,X2,...,Xn,1,0,•,+)}

D

D

14D. (X •FY • Z • ...) = X + Y + Z + ...D

16. (X + Y) • (X' + Z) = X • Z + X' • Y 16D. X • Y + X' • Z = (X + Z) • (X' + Y)

17D. (X + Y) • (Y + Z) • (X' + Z) = (X + Y) • (X' + Z)

Associative Laws:7. (X + Y) + Z = X + (Y + Z) = X + Y + Z

7D. (X • Y) • Z = X • (Y • Z) = X • Y • Z

Page 11: ECE C03 Lecture 21 Lecture 2 Two Level Minimization Hai Zhou ECE 303 Advanced Digital Design Spring 2002

ECE C03 Lecture 2 11

Proving Theorems via Boolean Algebra

Proving theorems via axioms of Boolean Algebra:

E.g., prove the theorem: X • Y + X • Y' = X

X • Y + X •Y' = X • (Y + Y')

X • (Y + Y') = X • (1)

X • (1) = X

distributive law (8)

complementary law (5)

identity (1D)

E.g., prove the theorem: X + X • Y = X

X + X • Y = X • 1 + X • Y

X • 1 + X • Y = X • (1 + Y)

X • (1 + Y) = X • (1)

X • (1) = X

identity (1D)

distributive law (8)

identity (2)

identity (1)

Page 12: ECE C03 Lecture 21 Lecture 2 Two Level Minimization Hai Zhou ECE 303 Advanced Digital Design Spring 2002

ECE C03 Lecture 2 12

Two Level Logic: Canonical FormsSum of Products

Shorthand Notation forMinterms of 3 Variables

product term / minterm:

ANDed product of literals in which eachvariable appears exactly once, in true orcomplemented form (but not both!)

F in canonical form:

F(A,B,C) = m(3,4,5,6,7)= m3 + m4 + m5 + m6 + m7= A' B C + A B' C' + A B' C + A B C' + A B C

canonical form/minimal form

F = A B' (C + C') + A' B C + A B (C' + C)

= A B' + A' B C + A B

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

= A + A' B C

= A + B C2-Level AND/OR

Realization F = (A + B C)' = A' (B' + C') = A' B' + A' C'

B

C

A

F

A B C = m 1 A B C = m 2 A B C = m 3 A B C = m 4 A B C = m 5 A B C = m 6 A B C = m 7

A

0 0 0 0 1 1 1 1

B

0 0 1 1 0 0 1 1

C

0 1 0 1 0 1 0 1

Minterms

A B C = m 0

Page 13: ECE C03 Lecture 21 Lecture 2 Two Level Minimization Hai Zhou ECE 303 Advanced Digital Design Spring 2002

ECE C03 Lecture 2 13

Product of Sums

Maxterm Shorthand Notationfor a Function of Three Variables

Maxterm:ORed sum of literals in which eachvariable appears exactly once in eithertrue or complemented form, but not both!

Maxterm form:Find truth table rows where F is 00 in input column implies true literal1 in input column implies complemented literal

F(A,B,C) = M(0,1,2)

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

F’(A,B,C) = M(3,4,5,6,7)

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

A 0 0 0 0 1 1 1 1

B 0 0 1 1 0 0 1 1

C 0 1 0 1 0 1 0 1

Maxterms A + B + C = M 0 A + B + C = M 1 A + B + C = M 2 A + B + C = M 3 A + B + C = M 4 A + B + C = M 5 A + B + C = M 6 A + B + C = M 7

Page 14: ECE C03 Lecture 21 Lecture 2 Two Level Minimization Hai Zhou ECE 303 Advanced Digital Design Spring 2002

ECE C03 Lecture 2 14

Two Level Simplification

A 0 0 1 1

B 0 1 0 1

G 1 0 1 0

A 0 0 1 1

B 0 1 0 1

F 0 0 1 1

Key Tool: The Uniting Theorem — A (B' + B) = AKey Tool: The Uniting Theorem — A (B' + B) = A

F = A B' + A B = A (B' + B) = A

A's values don't change within the on-set rows

B's values change within the on-set rows

G = A' B' + A B' = (A' + A) B' = B'

B's values stay the same within the on-set rows

A's values change within the on-set rows

B is eliminated, A remains

A is eliminated, B remains

Essence of Simplification:find two element subsets of the ON-set where only one variable changes its value. This single varying variable can be eliminated!

Page 15: ECE C03 Lecture 21 Lecture 2 Two Level Minimization Hai Zhou ECE 303 Advanced Digital Design Spring 2002

ECE C03 Lecture 2 15

Visualizing Boolean Cubes

Just another way torepresent the truth table

n input variables =n dimensional "cube"

2-cube 3-cube

4-cube

XYZ

X

011

010

000

001

111

110

100

101 Y Z

WXYZ

0111 0011

0010

0000

0001

0110

1010

0101

0100 1000

1011

1001

1110

1111

1101

1100

Y Z

W

X

XY

1-cube

X

X

01

00

11

10

Y

0 1

Page 16: ECE C03 Lecture 21 Lecture 2 Two Level Minimization Hai Zhou ECE 303 Advanced Digital Design Spring 2002

ECE C03 Lecture 2 16

Two Level Simplication

A 0 0 0 0 1 1 1 1

B 0 0 1 1 0 0 1 1

A

B

Cin 0 1 0 1 0 1 0 1

Cout 0 0 0 1 0 1 1 1

011 111

010 110

001

000 100

101 Cin

Three variable example: Full Adder Carry Out

(A' + A) B Cin

A B (Cin' + Cin)

A (B + B') Cin

Cout = B Cin + A B + A Cin

The ON-set is coveredby the OR of the subcubes

of lower dimensionality

Page 17: ECE C03 Lecture 21 Lecture 2 Two Level Minimization Hai Zhou ECE 303 Advanced Digital Design Spring 2002

ECE C03 Lecture 2 17

Karnaugh Map Method

A B 0 1

0

1

0

1

2

3

0

1

2

3

6

7

4

5

AB C

0

1

3

2

4

5

7

6

12

13

15

14

8

9

11

10

A

B

AB

CD

A

00 01 11 10

0

1

00 01 11 00

00

01

11

10 C

B

D

hard to draw cubes of more than 4 dimensions

K-map is an alternative method of representing the truth table that helps visualize adjacencies in up to 6 dimensions

Beyond that, computer-based methods are needed

2-variableK-map

3-variableK-map

4-variableK-map

Numbering Scheme: 00, 01, 11, 10Gray Code — only a single bit changes from code word to next code word

Page 18: ECE C03 Lecture 21 Lecture 2 Two Level Minimization Hai Zhou ECE 303 Advanced Digital Design Spring 2002

ECE C03 Lecture 2 18

Karnaugh Map Method

Karnaugh Map Method

Adjacencies in the K-Map

Wrap from first to last column

Top row to bottom row

000

001

010

01 1

1 10

1 1 1

100

101

00 01 11 10

0

1

AB C

A

B

011

010

000

001

100

110

101

111

B

C

A

Page 19: ECE C03 Lecture 21 Lecture 2 Two Level Minimization Hai Zhou ECE 303 Advanced Digital Design Spring 2002

ECE C03 Lecture 2 19

Karnaugh Map Examples

F = A

A asserted, unchangedB varies

G = B'

B complemented, unchangedA varies

Cout = A B + B Cin + A Cin F(A,B,C) = A

A

B 0 1

0 1

0 1

0

1

A

B 0 1

1 1

0 0

0

1

A B A

B

Cin 00 01 11 10

0

1

0

0

0

1

1

1

0

1

AB C

A

00 01 11 10

0

1

0

0

0

0

1

1

1

1

B

Page 20: ECE C03 Lecture 21 Lecture 2 Two Level Minimization Hai Zhou ECE 303 Advanced Digital Design Spring 2002

ECE C03 Lecture 2 20

More Karnaugh Map Examples

F(A,B,C) = m(0,4,5,7)

F = B' C' + A C

In the K-map, adjacency wraps from left to rightand from top to bottom

F'(A,B,C) = m(1,2,3,6)

F' = B C' + A' C

Compare with the method of using DeMorgan's Theorem and Boolean Algebra to reduce the complement!

F' simply replace 1's with 0's and vice versa

00 C

AB 01 11 10

1 0 0 1

1 1 0 0

A

B

0

1

00 C

AB

01 11 10

0 1 1 0

0 0 1 1

A

B

0

1

Page 21: ECE C03 Lecture 21 Lecture 2 Two Level Minimization Hai Zhou ECE 303 Advanced Digital Design Spring 2002

ECE C03 Lecture 2 21

Karnaugh Map Examples (4 variables)

F(A,B,C,D) = m(0,2,3,5,6,7,8,10,11,14,15)

F = C + A' B D + B' D'

K-map Corner AdjacencyIllustrated in the 4-Cube

Find the smallest numberof the largest possible

subcubes that cover theON-set

AB 00 01 11 10

1 0 0 1

0 1 0 0

1 1 1 1

1 1 1 1

00

01

11

10 C

CD

A

D

B

0011

D

0010

0000

0111

0110

0001 C

A

B 0100 1000

1100

1101

1111

1110

1001

1011

1010

0101

Page 22: ECE C03 Lecture 21 Lecture 2 Two Level Minimization Hai Zhou ECE 303 Advanced Digital Design Spring 2002

ECE C03 Lecture 2 22

Karnaugh Maps: Circling zeros

AB 00 01 11 10

1 0 0 1

0 1 0 0

1 1 1 1

1 1 1 1

00

01

11

10 C

CD

A

D

B

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

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

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

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

Replace F by F, 0’s become 1’s and vice versa

Page 23: ECE C03 Lecture 21 Lecture 2 Two Level Minimization Hai Zhou ECE 303 Advanced Digital Design Spring 2002

ECE C03 Lecture 2 23

Karnaugh Map Don’t Cares

F(A,B,C,D) = m(1,3,5,7,9) + d(6,12,13)

F = A'D + B' C' D w/o don't cares

F = C' D + A' D w/ don't cares

Don't Cares can be treated as 1's or 0's if it is advantageous to do soDon't Cares can be treated as 1's or 0's if it is advantageous to do so

By treating this DC as a "1", a 2-cubecan be formed rather than one 0-cube

AB 00 01 11 10

0 0 X 0

1 1 X 1

1 1 0 0

0 X 0 0

00

01

11

10 C

CD

A

D

B AB

00 01 11 10

0 0 X 0

1 1 X 1

1 1 0 0

0 X 0 0

00

01

11

10 C

CD

A

D

B

In PoS form: F = D (A' + C')

Same answer as above, but fewer literals

Page 24: ECE C03 Lecture 21 Lecture 2 Two Level Minimization Hai Zhou ECE 303 Advanced Digital Design Spring 2002

ECE C03 Lecture 2 24

Algorithm: Minimum SOP from K-Map

Step 1: Choose an element of ON-set not already covered by an implicant

Step 2: Find "maximal" groupings of 1's and X's adjacent to that element.Remember to consider top/bottom row, left/right column, andcorner adjacencies. This forms prime implicants (always a powerof 2 number of elements).

Repeat Steps 1 and 2 to find all prime implicants

Step 3: Revisit the 1's elements in the K-map. If covered by single primeimplicant, it is essential, and participates in final cover. The 1's itcovers do not need to be revisited

Step 4: If there remain 1's not covered by essential prime implicants, thenselect the smallest number of prime implicants that cover theremaining 1's

Page 25: ECE C03 Lecture 21 Lecture 2 Two Level Minimization Hai Zhou ECE 303 Advanced Digital Design Spring 2002

ECE C03 Lecture 2 25

Gate Logic: Two Level Simplification

Example: ƒ(A,B,C,D) = m(4,5,6,8,9,10,13) + d(0,7,15)�

Initial K-map Primes aroundA' B C' D'

Primes aroundA B C' D

AB 00 01 11 10

X 1 0 1

0 1 1 1

0 X X 0

0 1 0 1

00

01

11

10 C

CD

A

D

B

AB 00 01 11 10

X 1 0 1

0 1 1 1

0 X X 0

0 1 0 1

00

01

11

10 C

CD

A

D

B

AB 00 01 11 10

X 1 0 1

0 1 1 1

0 X X 0

0 1 0 1

00

01

11

10 C

CD

A

D

B

Page 26: ECE C03 Lecture 21 Lecture 2 Two Level Minimization Hai Zhou ECE 303 Advanced Digital Design Spring 2002

ECE C03 Lecture 2 26

Gate Logic: Two-Level Simplification

Example Continued

Primes aroundA B' C' D'

Primes aroundA B C' D

AB 00 01 11 10

X 1 0 1

0 1 1 1

0 X X 0

0 1 0 1

00

01

11

10 C

CD

A

D

B

AB 00 01 11 10

X 1 0 1

0 1 1 1

0 X X 0

0 1 0 1

00

01

11

10 C

CD

A

D

B

AB 00 01 11 10

X 1 0 1

0 1 1 1

0 X X 0

0 1 0 1

00

01

11

10 C

CD

A

D

B

Essential Primeswith Min Cover

Page 27: ECE C03 Lecture 21 Lecture 2 Two Level Minimization Hai Zhou ECE 303 Advanced Digital Design Spring 2002

ECE C03 Lecture 2 27

Gate Logic: Two-Level Simplification

5-Variable K-maps

ƒ(A,B,C,D,E) = m(2,5,7,8,10,13,15,17,19,21,23,24,29 31)

= C E + A B' E + B C' D' E' + A' C' D E'

BC DE 00 01 11 10

00

01

11

10

A=0

BC DE 00 01 11 10

00

01

11

10

A=1

1 1

1

1

1 1

1

1

1 1 1

1 1 1

BC DE

BC DE

A =0

A =1

00 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

Page 28: ECE C03 Lecture 21 Lecture 2 Two Level Minimization Hai Zhou ECE 303 Advanced Digital Design Spring 2002

ECE C03 Lecture 2 28

Gate Logic: Two Level Simplification

6- Variable K-Maps

ƒ(A,B,C,D,E,F) =m(2,8,10,18,24,

26,34,37,42,45,50,53,58,61)

= D' E F' + A D E' F+ A' C D' F'

CD EF

CD EF

AB =00

AB =01

00 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

CD EF

AB =11

00 01 11 10 00

01

11

10

48 52 60 56

49 53 61 57

51 55 63 59

50 54 62 58

CD EF

AB =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

CD EF

CD EF

AB =00

AB =01

00 01 11 10 00

01

11

10

00 01 11 10 00

01

11

10

CD EF

AB =11

00 01 11 10 00

01

11

10

CD EF

AB =10

00 01 11 10 00

01

11

10

1

1 1

1

1 1

1 1

1 1

1 1

1 1

Page 29: ECE C03 Lecture 21 Lecture 2 Two Level Minimization Hai Zhou ECE 303 Advanced Digital Design Spring 2002

ECE C03 Lecture 2 29

Summary

• Representations of digital design• Boolean algebra review• Two-level minimization• Karnaugh maps• NEXT LECTURE: Two-level Logic Minimization

Algorithms• READING: Katz 2.4.1, 2.4.2, Dewey 4.5