1 design of gate networks design of two ... of gate networks 1 design of two-level networks: and-or...

48
1 DESIGN OF GATE NETWORKS DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE AND TOOLS LIMITATIONS OF TWO-LEVEL NETWORKS DESIGN OF TWO-LEVEL nand-nand and nor-nor NETWORKS PROGRAMMABLE LOGIC: plas and pals. Introduction to Digital Systems 5 – Design of Two-Level Gate Networks

Upload: vuthuy

Post on 05-Apr-2018

233 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 1 DESIGN OF GATE NETWORKS DESIGN OF TWO ... OF GATE NETWORKS 1 DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE

1DESIGN OF GATE NETWORKS

• DESIGN OF TWO-LEVEL NETWORKS:and-or and or-and NETWORKS

• MINIMAL TWO-LEVEL NETWORKSKARNAUGH MAPSMINIMIZATION PROCEDURE AND TOOLSLIMITATIONS OF TWO-LEVEL NETWORKS

• DESIGN OF TWO-LEVEL nand-nand and nor-nor NETWORKS

• PROGRAMMABLE LOGIC: plas and pals.

Introduction to Digital Systems 5 – Design of Two-Level Gate Networks

Page 2: 1 DESIGN OF GATE NETWORKS DESIGN OF TWO ... OF GATE NETWORKS 1 DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE

2DESIGN OF TWO-LEVEL NETWORKS

IMPLEMENTATION:

Level 1 (optional) not GATES

Level 2 and GATES

Level 3 or GATES

LITERALS(uncomplemented and complemented variables)

not GATES (IF NEEDED)

PRODUCTS: and gates

SUM: or gate

MULTIOUTPUT NETWORKS: ONE or GATE USED FOR EACHOUTPUT

PRODUCT OF SUMS NETWORKS - SIMILAR

Introduction to Digital Systems 5 – Design of Two-Level Gate Networks

Page 3: 1 DESIGN OF GATE NETWORKS DESIGN OF TWO ... OF GATE NETWORKS 1 DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE

3MODULO-64 INCREMENTER

Input: 0 ≤ x ≤ 63Output: 0 ≤ z ≤ 63Function: z = (x + 1) mod 64

x 010101z 010110

x 001111z 010000

• RADIX-2 REPRESENTATION

zi =

1 if (xi = 1 and there exists j < i such that xj = 0)or (xi = 0 and xj = 1 for all j < i)

0 otherwise

z5 = x5(x′4 x′3 x′2 x′1 x′0) x′5x4x3x2x1x0

= x5x′4 x5x

′3 x5x

′2 x5x

′1 x5x

′0 x′5x4x3x2x1x0

z4 = x4x′3 x4x

′2 x4x

′1 x4x

′0 x′4x3x2x1x0

z3 = x3x′2 x3x

′1 x3x

′0 x′3x2x1x0

z2 = x2x′1 x2x

′0 x′2x1x0

z1 = x1x′0 x′1x0

z0 = x′0

Introduction to Digital Systems 5 – Design of Two-Level Gate Networks

Page 4: 1 DESIGN OF GATE NETWORKS DESIGN OF TWO ... OF GATE NETWORKS 1 DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE

4

z 5

x 5x'4

x'3

x'2

x'1

x'0

x4x'5

x3x2x1x0

z 4

x 4

x'3

x'2

x'1

x'0x'4x3x2x1x0

z 3

x 3

x'2

x'1

x'0x'3x2x1x0

z 2

x 2

x'1

x'0x'2x1x0

z1

x1

x'0

x0

x'1z0x0

x4

x3

x2

x1

x0

x5

x'4

x'3

x'2

x'1

x'0

x'5

Figure 5.1: not-and-or MODULO-64 INCREMENTER NETWORK.

Introduction to Digital Systems 5 – Design of Two-Level Gate Networks

Page 5: 1 DESIGN OF GATE NETWORKS DESIGN OF TWO ... OF GATE NETWORKS 1 DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE

5UNCOMPLEMENTED AND COMPLEMENTED INPUTS AVAILABLE

• TWO TYPES OF TWO-LEVEL NETWORKS:

and-or NETWORK⇔ SUM OF PRODUCTS (nand-nand NETWORK)

or-and NETWORK⇔ PRODUCT OF SUMS (nor-nor NETWORK)

z

(a)

x0

x2

x1

x’1x’2

x1

x’0

x’2x1

x1

x’0x2x’1x0

z

(b)

Figure 5.2: and-or and or-and NETWORKS.

E(x2, x1, x0) = x′2x′1x0 x2x1 x1x

′0

E(x2, x1, x0) = (x′2 x1)(x1 x′0)(x2 x′1 x0)

Introduction to Digital Systems 5 – Design of Two-Level Gate Networks

Page 6: 1 DESIGN OF GATE NETWORKS DESIGN OF TWO ... OF GATE NETWORKS 1 DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE

6MINIMAL TWO-LEVEL NETWORKS

1. INPUTS: UNCOMPLEMENTED AND COMPLEMENTED

2. FANIN UNLIMITED

3. SINGLE-OUTPUT NETWORKS

4. MINIMAL NETWORK:

MINIMUM NUMBER OF GATES WITH MINIMUM NUMBER OF INPUTS

(minimal expression: min. number of terms with min. number of literals)

Introduction to Digital Systems 5 – Design of Two-Level Gate Networks

Page 7: 1 DESIGN OF GATE NETWORKS DESIGN OF TWO ... OF GATE NETWORKS 1 DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE

7NETWORKS WITH DIFFERENT COST

z

Network A

x’0x1

x2

x2

x0 zx0

x’2

x0

x1

x2

x1x1

Network B

Figure 5.3: NETWORKS WITH DIFFERENT COST TO IMPLEMENT f(x2, x1, x0) =one-set(3,6,7).

Introduction to Digital Systems 5 – Design of Two-Level Gate Networks

Page 8: 1 DESIGN OF GATE NETWORKS DESIGN OF TWO ... OF GATE NETWORKS 1 DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE

8MINIMAL EXPRESSIONS

• EQUIVALENT BUT DIFFERENT COST

E1(x2, x1, x0) = x′2x1x′0 x′1x0 x2x0

E2(x2, x1, x0) = x2x1x0 x′2x1x′0 x′2x

′1x0 x2x

′1x0

• BOTH MINIMAL SP AND PS MUST BE OBTAINED AND COMPARED

• BASIS:

ab ab′ = a (for sum of products)

(a b)(a b′) = a (for product of sums)

Introduction to Digital Systems 5 – Design of Two-Level Gate Networks

Page 9: 1 DESIGN OF GATE NETWORKS DESIGN OF TWO ... OF GATE NETWORKS 1 DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE

9GRAPHICAL REPRESENTATION OF SWITCHING FUNCTIONS: kARNAUGH

MAPS

• 2-DIMENSIONAL ARRAY OF CELLS

• n VARIABLES −→ 2n CELLS

• cell i ←→ ASSIGNMENT i

ADJACENCY CONDITION

ANY SET OF 2r ADJACENT ROWS (COLUMNS):

ASSIGNMENTS DIFFER IN r VARIABLES

• REPRESENTING SWITCHING FUNCTIONS

• REPRESENTING SWITCHING EXPRESSIONS

• GRAPHICAL AID IN SIMPLIFYING EXPRESSIONS

Introduction to Digital Systems 5 – Design of Two-Level Gate Networks

Page 10: 1 DESIGN OF GATE NETWORKS DESIGN OF TWO ... OF GATE NETWORKS 1 DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE

10

0 1x0 1

x 1x 00

1

0 1

0 2

1 3

x 1x0

x 200

01

0 1

0 4

1 5

3 7

2 6

1110

x

0 1

0 2

1 3

x 0

x 1

0 4

1 5

3 7

2 6

x 1

x 0

x 2

0001

0 4

1 5

3 7

2 6

1110

12 8

13 9

15 11

14 10

00 01 11 10

x 2x 3

x 0x 1

0 4

1 5

3 7

2 6

12 8

13 9

15 11

14 10

x 2

x 3

x 0

x 1

(a)

(b)

(c)

(d)

Figure 5.4: K-Maps

Introduction to Digital Systems 5 – Design of Two-Level Gate Networks

Page 11: 1 DESIGN OF GATE NETWORKS DESIGN OF TWO ... OF GATE NETWORKS 1 DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE

11

0

4

1

5

3

7

2

6

12

8

13

9

15

11

14

10

x2

x3

x0

x1

0

4

1

5

3

7

2

6

12

8

13

9

15

11

14

10

x2

x3

x0

x1

x4 = 0 x4 = 1

Figure 5.5: K-map FOR FIVE VARIABLES

Introduction to Digital Systems 5 – Design of Two-Level Gate Networks

Page 12: 1 DESIGN OF GATE NETWORKS DESIGN OF TWO ... OF GATE NETWORKS 1 DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE

12REPRESENTATION OF SWITCHING FUNCTIONS

f (x2, x1, x0) = one-set(0,2,6) x2

x1

x0

1 0 0 10 0 0 1

f (x3, x2, x1, x0) = zero-set(1,3,4,6,10,11,13)x3

x2

x1

x0

1 0 0 10 1 1 01 0 1 11 1 0 0

f (x2, x1, x0) = [one-set(0,4,5), dc-set(2,3)] x2

x1

x0

1 0 – –1 1 0 0

Introduction to Digital Systems 5 – Design of Two-Level Gate Networks

Page 13: 1 DESIGN OF GATE NETWORKS DESIGN OF TWO ... OF GATE NETWORKS 1 DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE

13RECTANGLES OF 1-CELLS AND SUM OF PRODUCTS

1. MINTERM mj CORRESPONDS TO 1-CELL WITH LABEL j.

2. PRODUCT TERM OF n− 1 LITERALS ←→ RECTANGLE OF TWO AD-JACENT 1-CELLS

x3x′1x0 = x3x

′1x0(x2 x′2)

= x3x2x′1x0 x3x

′2x′1x0

= m13 m9

x3

x2

x1

x0

11

���

x3x′1x0

9

13

Figure 5.6

Introduction to Digital Systems 5 – Design of Two-Level Gate Networks

Page 14: 1 DESIGN OF GATE NETWORKS DESIGN OF TWO ... OF GATE NETWORKS 1 DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE

14

RECTANGLES OF 1-CELLS AND SUM OF PRODUCTS (cont.)

3. PRODUCT TERM OF n− 2 LITERALS ←→ RECTANGLE OF FOURADJACENT 1-CELLS

x3x0 = x3x0(x1 x′1)(x2 x′2)

= x3x′2x′1x0 x3x

′2x1x0 x3x2x

′1x0 x3x2x1x0

= m9 m11 m13 m15

x3

x2

x1

x0

1 11 1

� �

� x3x09 11

13 15

Figure 5.6

4. PRODUCT TERM OF n− s LITERALS ←→ RECTANGLE OF 2s

ADJACENT 1-CELLS

Introduction to Digital Systems 5 – Design of Two-Level Gate Networks

Page 15: 1 DESIGN OF GATE NETWORKS DESIGN OF TWO ... OF GATE NETWORKS 1 DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE

15

@@

xk−1 . . . x0xn−1 . . . xk 2b

2a

?

6

- �

Product ofn− (a + b)

variables@

@@

@@I

Figure 5.7: Representation of product of n− (a + b) variables.

x3

x2

x1

x0

1111

� x1x0

x3

x2

x1

x0

1 1

1 1�

�� x′2x

′0

x3

x2

x1

x0

1 11 11 11 1

� �

-x0

x3

x2

x1

x0

1 1�

��

���

x′3x2x0

x3

x2

x1

x0

1 11 1

� �

��

���

x2x0

x3

x2

x1

x0

1i

x′3x2x1x0Figure 5.8: Product terms and rectangles of 1-cells.

Introduction to Digital Systems 5 – Design of Two-Level Gate Networks

Page 16: 1 DESIGN OF GATE NETWORKS DESIGN OF TWO ... OF GATE NETWORKS 1 DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE

16SUM OF PRODUCTS

represented in a K-map by the union of rectangles

E(x3, x2, x1, x0) = x′3x2x1 x′2x1x0 x′0

x3

x2

x1

x0

1 0 1 11 0 1 11 0 0 11 0 1 1

� �

� �

E(a, b, c) = ab ac b′c′

a

b

c

1 0 0 01 1 1 1

Introduction to Digital Systems 5 – Design of Two-Level Gate Networks

Page 17: 1 DESIGN OF GATE NETWORKS DESIGN OF TWO ... OF GATE NETWORKS 1 DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE

17RECTANGLES OF 0-CELLS AND PRODUCT OF SUMS

0-cell 13 CORRESPONDS TO THE MAXTERM

M13 = x′3 x′2 x1 x′0

RECTANGLE OF 2a× 2b 0-cells←→ SUM TERM OF n− (a + b) LITERALS

Introduction to Digital Systems 5 – Design of Two-Level Gate Networks

Page 18: 1 DESIGN OF GATE NETWORKS DESIGN OF TWO ... OF GATE NETWORKS 1 DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE

18MINIMIZATION OF SUMS OF PRODUCTS

IMPLICANT: PRODUCT TERM FOR WHICH f=1

x3

x2

x1

x0

1

1 1 1 11 1 1 1

� �

� �

� �

��

��

���

A

� B6

C

-D

Figure 5.9: Implicant representation.

IMPLICANTS: x′3x′2x′1x0, ALL PRODUCT TERMS WITH x3

PRIME iMPLICANT: IMPLICANT NOT COVERED BY ANOTHERIMPLICANT

PRIME IMPLICANTS: x′2x′1x0, x3

Introduction to Digital Systems 5 – Design of Two-Level Gate Networks

Page 19: 1 DESIGN OF GATE NETWORKS DESIGN OF TWO ... OF GATE NETWORKS 1 DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE

19FIND ALL PIs

a) f (x2, x1, x0) = one-set(2,4,6)

x2

x1

x0

0 0 0 11 0 0 1

��

��

PIs: x2x′0 and x1x

′0

b) f (x2, x1, x0) = one-set(0,1,5,7)

x2

x1

x0

1 1 0 00 1 1 0

� PIs: x′2x

′1, x2x0, and x′1x0

Introduction to Digital Systems 5 – Design of Two-Level Gate Networks

Page 20: 1 DESIGN OF GATE NETWORKS DESIGN OF TWO ... OF GATE NETWORKS 1 DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE

20

c) f (x3, x2, x1, x0) = one-set(0,3,5,7,11,12,13,15)

x3

x2

x1

x0

1 0 1 00 1 1 01 1 1 00 0 1 0

i�

� �

PIs: x2x0, x1x0, x3x2x′1, and x′3x

′2x′1x′0

Introduction to Digital Systems 5 – Design of Two-Level Gate Networks

Page 21: 1 DESIGN OF GATE NETWORKS DESIGN OF TWO ... OF GATE NETWORKS 1 DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE

21MINIMAL SUM OF PRODUCTS CONSISTS OF PRIME IMPLICANTS

x3

x2

x1

x0

0 1 1 00 1 1 01 0 0 01 0 1 1

� �

-p

��

q

-p1 � p2

Figure 5.10: MINIMAL SUM OF PRODUCTS AND PRIME IMPLICANTS.

Introduction to Digital Systems 5 – Design of Two-Level Gate Networks

Page 22: 1 DESIGN OF GATE NETWORKS DESIGN OF TWO ... OF GATE NETWORKS 1 DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE

22Example 5.9

E(x2, x1, x0) = x2x′1x′0 x2x1x

′0 x1x

′0

x2

x1

x0

0 0 0 11 0 0 1i i

��

��

@@R

x2x′1x′0

� x2x1x′0

� x1x′0

6x2x

′0

not PIs: x2x′1x′0 and x2x1x

′0

PI: x2x′0, x1x

′0

REDUCED SP: E(x2, x1, x0) = x2x′0 x1x

′0

Introduction to Digital Systems 5 – Design of Two-Level Gate Networks

Page 23: 1 DESIGN OF GATE NETWORKS DESIGN OF TWO ... OF GATE NETWORKS 1 DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE

23

ESSENTIAL PRIME IMPLICANTS (EPI)

pe(a) = 1 and p(a) = 0 FOR ANY OTHER PI p

x2

x1

x0

1 11 1 1

��

��

EPIs: x′1x′0 and x1x0

NON-ESSENTIAL: x2x1, x2x′0.

• ALL EPIs ARE INCLUDED IN A MINIMAL SP

Introduction to Digital Systems 5 – Design of Two-Level Gate Networks

Page 24: 1 DESIGN OF GATE NETWORKS DESIGN OF TWO ... OF GATE NETWORKS 1 DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE

24PROCEDURE FOR FINDING MIN SP

1. DETERMINE ALL PIs

2. OBTAIN THE EPIs

3. IF NOT ALL 1-CELLS COVERED, CHOOSE A COVER FROM THE RE-MAINING PIs

Introduction to Digital Systems 5 – Design of Two-Level Gate Networks

Page 25: 1 DESIGN OF GATE NETWORKS DESIGN OF TWO ... OF GATE NETWORKS 1 DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE

25EXAMPLE 5.10

FIND A MINIMAL SP:

a) E(x3, x2, x1, x0) = x′3x′2 x′3x2x0 x1x0

x3

x2

x1

x0

1 1 1 11 1

11

� ��

• PIs: x′3x′2, x′3x0, and x1x0

• ALL EPIs

• UNIQUE MIN SP: x′3x′2 x′3x0 x1x0

Introduction to Digital Systems 5 – Design of Two-Level Gate Networks

Page 26: 1 DESIGN OF GATE NETWORKS DESIGN OF TWO ... OF GATE NETWORKS 1 DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE

26

b) E(x2, x1, x0) = ∑

m(0, 3, 4, 6, 7)

x2

x1

x0

1 11 1 1

��

��

• PIs: x′1x′0, x1x0, x2x

′0, and x2x1

• EPIs: x′1x′0 and x1x0

• EXTRA COVER: x2x′0 or x2x1

• TWO MIN SPs:

x′1x′0 x1x0 x2x

′0 and x′1x

′0 x1x0 x2x1

Introduction to Digital Systems 5 – Design of Two-Level Gate Networks

Page 27: 1 DESIGN OF GATE NETWORKS DESIGN OF TWO ... OF GATE NETWORKS 1 DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE

27

c) E(x2, x1, x0) = ∑

m(0, 1, 2, 5, 6, 7)

x2

x1

x0

1 1 11 1 1

��

��

��

• PIs: x′2x′1, x′2x

′0, x2x0, x2x1, x′1x0, and x1x

′0

• No EPIs

• TWO MIN SPs

x′2x′1 x2x0 x1x

′0 and x′2x

′0 x′1x0 x2x1

Introduction to Digital Systems 5 – Design of Two-Level Gate Networks

Page 28: 1 DESIGN OF GATE NETWORKS DESIGN OF TWO ... OF GATE NETWORKS 1 DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE

28MINIMAL SPs FOR INCOMPLETELY SPECIFIED FUNCTIONS

x3

x2

x1

x0

1 1 1 00 - 1 01 - 0 -1 0 - -

� �

A minimal SP

E(x3, x2, x1, x0) = x3x′0 x′3x0 x′3x

′2x′1

Introduction to Digital Systems 5 – Design of Two-Level Gate Networks

Page 29: 1 DESIGN OF GATE NETWORKS DESIGN OF TWO ... OF GATE NETWORKS 1 DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE

29MINIMIZATION OF PRODUCTS OF SUMS

IMPLICATE: SUM TERM FOR WHICH f = 0.

PRIME IMPLICATE: IMPLICATE NOT COVERED BY ANOTHER IM-PLICATE

ESSENTIAL PRIME IMPLICATE: AT LEAST ONE ”CELL” NOT IN-CLUDED IN OTHER IMPLICATE

f (x3, x2, x1, x0) = zero-set(7,13,15)

x3

x2

x1

x0

1 1 1 11 1 0 11 0 0 11 1 1 1

THE PRIME IMPLICATES: (x′3 x′2 x′0) and (x′2 x′1 x′0)

BOTH ESSENTIAL

Introduction to Digital Systems 5 – Design of Two-Level Gate Networks

Page 30: 1 DESIGN OF GATE NETWORKS DESIGN OF TWO ... OF GATE NETWORKS 1 DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE

30PROCEDURE FOR FINDING MIN PS

1. DETERMINE ALL PRIME IMPLICATES

2. DETERMINE THE ESSENTIAL PRIME IMPLICATES

3. FROM SET OF NONESSENTIAL PRIME IMPLICATES, SELECT COVEROF REMAINING 0-CELLS

x3

x2

x1

x0

1 1 1 01 0 0 11 0 0 11 1 1 -

� �

� �

� �

• THE PRIME IMPLICATES: (x′0 x′2) and (x0 x2 x′1)

• BOTH ESSENTIAL, THE MINIMAL PS IS (x′0 x′2)(x0 x2 x′1)

Introduction to Digital Systems 5 – Design of Two-Level Gate Networks

Page 31: 1 DESIGN OF GATE NETWORKS DESIGN OF TWO ... OF GATE NETWORKS 1 DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE

31MINIMAL TWO-LEVEL GATE NETWORK DESIGN: EXAMPLE 5.14

Input: x ∈ {0, 1, 2, ..., 9}, coded in BCD asx = (x3, x2, x1, x0), xi ∈ {0, 1}

Output: z ∈ {0, 1}

Function: z =

1 if x ∈ {0, 2, 3, 5, 8}0 otherwise

THE VALUES {10,11,12,13,14,15} ARE “DON’T CARES”

x3

x2

x1

x0

1 0 1 10 1 0 0– – – –1 0 – –

� �

MIN SP: z = x′2x1 x′2x′0 x2x

′1x0

MIN PS: z = (x′2 x′1)(x′2 x0)(x2 x1 x′0)

Introduction to Digital Systems 5 – Design of Two-Level Gate Networks

Page 32: 1 DESIGN OF GATE NETWORKS DESIGN OF TWO ... OF GATE NETWORKS 1 DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE

32

z

x0

x’1x2

x1

x’2

x’0

x’2

Figure 5.11: MINIMAL and-or NETWORK

Introduction to Digital Systems 5 – Design of Two-Level Gate Networks

Page 33: 1 DESIGN OF GATE NETWORKS DESIGN OF TWO ... OF GATE NETWORKS 1 DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE

33EXAMPLE 5.15

Input: x ∈ {0, 1, 2, ..., 15}represented in binary code by x = (x3, x2, x1, x0)

Output: z ∈ {0, 1}

Function: z =

1 if x ∈ {0, 1, 3, 5, 7, 11, 12, 13, 14}0 otherwise

THE K-MAP:

x3

x2

x1

x0

1 1 1 00 1 1 01 1 0 10 0 1 0

� ��

��

��

��

� �

� �

min SP: z = x′3x0 x′3x′2x′1 x2x

′1x0 x3x2x

′0 x′2x1x0

min PS: z = (x′3 x2 x1)(x3 x′2 x0)(x2 x′1 x0)(x′3 x′2 x′1 x′0)

COST(PS) < COST(SP)

Introduction to Digital Systems 5 – Design of Two-Level Gate Networks

Page 34: 1 DESIGN OF GATE NETWORKS DESIGN OF TWO ... OF GATE NETWORKS 1 DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE

34

z

x’3x2x1x3

x0

x’2

x2

x0

x’1

x’3x’2x’1x’0

Figure 5.12: MINIMAL or-and NETWORK

Introduction to Digital Systems 5 – Design of Two-Level Gate Networks

Page 35: 1 DESIGN OF GATE NETWORKS DESIGN OF TWO ... OF GATE NETWORKS 1 DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE

35DESIGN OF MULTIPLE-OUTPUT TWO-LEVEL GATE NETWORKS

• SEPARATE NETWORK FOR EACH OUTPUT: NO SHARINGEXAMPLE 5.16

Inputs: (x2, x1, x0), xi ∈ {0, 1}Output: z ∈ {0, 1, 2, 3}Function: z = ∑2

i=0 xi

1. THE SWITCHING FUNCTIONS IN TABULAR FORM ARE

x2 x1 x0 z1 z0

0 0 0 0 00 0 1 0 10 1 0 0 10 1 1 1 01 0 0 0 11 0 1 1 01 1 0 1 01 1 1 1 1

Introduction to Digital Systems 5 – Design of Two-Level Gate Networks

Page 36: 1 DESIGN OF GATE NETWORKS DESIGN OF TWO ... OF GATE NETWORKS 1 DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE

36

EXAMPLE 5.16 (cont.)

2. THE CORRESPONDING K-MAPS AREz1

x2

x1

x0

0 0 1 00 1 1 1

z0

x2

x1

x0

0 1 0 11 0 1 0

3. MINIMAL SPs:

z1 = x2x1 x2x0 x1x0

z0 = x′2x′1x0 x′2x1x

′0 x2x

′1x′0 x2x1x0

4. MINIMAL PSs:

z1 = (x2 x0)(x2 x1)(x1 x0)

z0 = (x2 x1 x0)(x2 x′1 x′0)

(x′2 x1 x′0)(x′2 x′1 x0)

5. SP AND PS EXPRESSIONS HAVE THE SAME COST

Introduction to Digital Systems 5 – Design of Two-Level Gate Networks

Page 37: 1 DESIGN OF GATE NETWORKS DESIGN OF TWO ... OF GATE NETWORKS 1 DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE

37

x0

x’1x’2

x’0

x’2

x’0

x2

x1

x’1

x0

x1

z 0

x1

x2

x0

x2

x0

x1

z 1

x2

Figure 5.13: MINIMAL TWO-OUTPUT and-or NETWORK

Introduction to Digital Systems 5 – Design of Two-Level Gate Networks

Page 38: 1 DESIGN OF GATE NETWORKS DESIGN OF TWO ... OF GATE NETWORKS 1 DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE

38TWO-LEVEL NAND-NAND AND NOR-NOR NETWORKS

E = p1 p2 p3 . . . pn

p1, p2, . . . ARE PRODUCT TERMS

E = (p′1 · p′2 · p

′3 . . . p′n)

or

E = NAND(NAND1, NAND2, NAND3, . . . , NANDn)

Introduction to Digital Systems 5 – Design of Two-Level Gate Networks

Page 39: 1 DESIGN OF GATE NETWORKS DESIGN OF TWO ... OF GATE NETWORKS 1 DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE

39

x5

x6

x3

x4z

x1 x0

x2

x7

x5

x6

x3

x4z

x1 x0

x2

x’7

(a) (b)

Figure 5.15: TRANSFORMATION OF and-or NETWORK INTO nand NETWORK

Introduction to Digital Systems 5 – Design of Two-Level Gate Networks

Page 40: 1 DESIGN OF GATE NETWORKS DESIGN OF TWO ... OF GATE NETWORKS 1 DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE

40EXAMPLE: NOR NETWORK

z = x′5(x4 x′3)(x2 x1 x0)

x’3

x4

x0

x2

z

x1

x5

x’3

x4

x0

x2

z

x1

x’5

(a) (b)

Figure 5.16: EQUIVALENT or-and AND nor NETWORKS

Introduction to Digital Systems 5 – Design of Two-Level Gate Networks

Page 41: 1 DESIGN OF GATE NETWORKS DESIGN OF TWO ... OF GATE NETWORKS 1 DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE

41LIMITATIONS OF TWO-LEVEL NETWORKS

1. THE REQUIREMENT OF UNCOMPLEMENTED AND COMPLEMENTEDINPUTS

IF NOT SATISFIED, AN ADDITIONAL LEVEL OF not GATES NEEDED

2. A TWO-LEVEL IMPLEMENTATION OF A FUNCTION MIGHT REQUIREA LARGE NUMBER OF GATES AND IRREGULAR CONNECTIONS

3. EXISTING TECHNOLOGIES HAVE LIMITATIONS IN THE FAN-IN OF THEGATES

4. THE PROCEDURE ESSENTIALLY LIMITED TO THE SINGLE-OUTPUTCASE

5. THE COST CRITERION OF MINIMIZING THE NUMBER OF GATES ISNOT ADEQUATE FOR MANY msi/lsi/vlsi DESIGNS

Introduction to Digital Systems 5 – Design of Two-Level Gate Networks

Page 42: 1 DESIGN OF GATE NETWORKS DESIGN OF TWO ... OF GATE NETWORKS 1 DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE

42PROGRAMMABLE mODULES: PLAs and PALs

• STANDARD (FIXED) STRUCTURE

• CUSTOMIZED (PROGRAMMED) FOR A PARTICULAR FUNCTION

– DURING THE LAST STAGE OF FABRICATION

– WHEN INCORPORATED INTO A SYSTEM

• FLEXIBLE USE

• MORE EXPENSIVE AND SLOWER THAN FIXED-FUNCTION MODULES

• OTHER TYPES DISCUSSED IN Chapter 12

Introduction to Digital Systems 5 – Design of Two-Level Gate Networks

Page 43: 1 DESIGN OF GATE NETWORKS DESIGN OF TWO ... OF GATE NETWORKS 1 DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE

43

AN

D A

rray

OR

Arr

ay

--

prog

ram

mab

le c

onne

ctio

n

x0

x1

xn-

1

z0

z1

zk-

1

12

k

1 2 3 r

--

conn

ectio

n m

adeProgrammable array of

AND gates

Programmable array of OR gates

Inpu

ts

Pro

duct

term

s

Out

puts

(a)

(b)

(ena

ble)

thre

e-st

ate

buffe

rs

E

En

E

Figure 5.17: PROGRAMMABLE LOGIC ARRAY (pla): a) BLOCK DIAGRAM; b) LOGIC DIAGRAM.

Introduction to Digital Systems 5 – Design of Two-Level Gate Networks

Page 44: 1 DESIGN OF GATE NETWORKS DESIGN OF TWO ... OF GATE NETWORKS 1 DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE

44

mos pla (or-and VERSION)

GndGnd Gnd Gnd Gnd

Vdd

Vdd

Gnd

Gnd

a a’ b b’ c c’

w = ((a + c)’ + (b + c’)’)’ = (a + b)(b + c’)

OR Array(NOR Array)

(a + c)’

(b + c’)’

(a + b)’

z = ((a + b)’+ c’)’ = (a + b) c

c’

w z

E

pull-updevices

pull-updevices

AND Array

(NOR Array)

Figure 5.18: EXAMPLE OF pla IMPLEMENTATION AT THE CIRCUIT LEVEL: FRAGMENT OF A mos pla.

Introduction to Digital Systems 5 – Design of Two-Level Gate Networks

Page 45: 1 DESIGN OF GATE NETWORKS DESIGN OF TWO ... OF GATE NETWORKS 1 DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE

45IMPLEMENTATION OF SWITCHING FUNCTIONS USING plas

A BCD-to-Gray CONVERTER

Inputs: d = (d3, d2, d1, d0), dj ∈ {0, 1}Outputs: g = (g3, g2, g1, g0), gj ∈ {0, 1}

Function:i d3d2d1d0 g3g2g1g0

0 0000 00001 0001 00012 0010 00113 0011 00104 0100 01105 0101 01116 0110 01017 0111 01008 1000 11009 1001 1101

EXPRESSIONS:

g3 = d3

g2 = d3 d2

g1 = d′2d1 d2d′1

g0 = d1d′0 d′1d0

Introduction to Digital Systems 5 – Design of Two-Level Gate Networks

Page 46: 1 DESIGN OF GATE NETWORKS DESIGN OF TWO ... OF GATE NETWORKS 1 DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE

46

AND Array

OR Array

-- programmable connection

d0

d1

g0

g1

1

2

6

-- connection made

3

4

5

d2

d3

g2

g3

Note: a PLA chip would have more rows and columnsthen shown here

Figure 5.19: PLA IMPLEMENTATION OF BCD-Gray CODE CONVERTER.

Introduction to Digital Systems 5 – Design of Two-Level Gate Networks

Page 47: 1 DESIGN OF GATE NETWORKS DESIGN OF TWO ... OF GATE NETWORKS 1 DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE

47PAL : A PROGRAMMABLE MODULE WITH FIXED or ARRAY

• FASTER, MORE INPUTS AND PRODUCT TERMS COMPARED TOPLAs

AND Array

-- programmable connection

x0

x1

xn-1

1

2

3

r

-- connection made

z1

zk-1k

(enable)

three-state buffers

E

2

1 z0

Figure 5.20: LOGIC DIAGRAM OF A PAL

Introduction to Digital Systems 5 – Design of Two-Level Gate Networks

Page 48: 1 DESIGN OF GATE NETWORKS DESIGN OF TWO ... OF GATE NETWORKS 1 DESIGN OF TWO-LEVEL NETWORKS: and-or and or-and NETWORKS MINIMAL TWO-LEVEL NETWORKS KARNAUGH MAPS MINIMIZATION PROCEDURE

48

04

812

1620

2428

0 8 16 24 32 40 48 56

I1 I2 I3 I4 I5 I6

O1

IO2

IO3

IO4

IO5

IO6

IO7

O8

I10

I7 I8 I9

Figure 5.21: 16-INPUT, 8-OUTPUT pal(P16H8)

Introduction to Digital Systems 5 – Design of Two-Level Gate Networks