61
© 2001 Prentice Hall, Inc. M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated. 3-1 Combinational circuit n inputs m outputs Fig. 3-1 Block Diagram of Combinational Circuit

M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

  • Upload
    dongoc

  • View
    514

  • Download
    17

Embed Size (px)

Citation preview

Page 1: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-1

Combinationalcircuit

n inputs m outputs•••

•••

Fig. 3-1 Block Diagram of Combinational Circuit

Page 2: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

Fig. 3-2 Example of Design Hierarchy and Reusable Blocks

B

X0X1X2X3X4X5X6X7X8

ZO0dd

function

9-Input

(a) Symbol for circuit

3-Inputodd

function

A0

A1

A2

BO

3-Inputodd

function

A0

A1

A2

BO

3-Inputodd

function

A0

A1

A2

BO

3-Inputodd

function

A0

A1

A2

O

X0

X1

X2

X3

X4

X5

X6

X7

X8

ZO

(b) Circuit as interconnected 3-input odd

BO

A0A1

A2

(c) 3-input odd function circuit asinterconnected exclusive-OR

(d) Exclusive-OR block as interconnected

function blocks

blocks

NANDs

••

••

3-2

Page 3: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-3

3-inputodd function

XOR XOR

-NAND

3-inputodd function

XOR XOR

3-inputodd function

XOR XOR

3-inputodd function

XOR XOR

9-inputodd function

(a)

9-inputodd function

3-inputodd function

XOR

(b)

Fig. 3-3 Diagrams Representing the Hierarchy for Figure 3-2

Page 4: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-4

HDL Descriptionof Circuit

Electronic, Speed,and Area Constraints

Translation

IntermediateRepresentation

Optimization/Pre-optimization Technology Mapping

Technology Library

Netlist

Fig. 3-4 High-Level Flow for Synthesis Tool

Page 5: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-5

A

B

C

D

••

T1

T2

T3

T4

T5

F2

F1

Fig. 3-5 Logic Diagram for Analysis Example

Page 6: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-6

X

••

••

••

YZ

T1

T2T3

S

C•

Fig. 3-6 Logic Diagram for Binary Adder

Page 7: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-7

TABLE 3-1Truth Table for Binary Adder

X Y Z C T1 T2 T3 S

00001111

00110011

01010101

00010111

11101000

00000001

01111111

01101000

01101001

C

Table 3-1 Truth Table for Binary Adder

Page 8: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-8

OR3

AND3

OR3

AND2

AND2

AND2

INV

AND2

OR2

X

Y

C

S

Z

Fig. 3-7 Xilinx Foundation Schematic for Binary Adder in Figure 3-6

Page 9: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-9

20ns0.0 40ns 60ns 80ns 100ns 120ns 140ns

ii

i

oo

XYZ

SC

CsCsCs

Fig. 3-8 Waveforms for the Binary Adder Schematic in Figure 3-7

Page 10: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-10

••X

Y

•Z

••

F

(c) Logic diagram

(b) Map F = XY + XZ

0

1

Y

Z

X

1

00 01 11 10

1

YZX

1

X Y Z F0 0 0 10 0 1 10 1 0 10 1 1 01 0 0 01 0 1 01 1 0 01 1 1 0

(a) Truth table

Fig. 3-9 Solution to Example 3-1

Page 11: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-11

TABLE 3-2Truth Table for Code Converter Example

DecimalDigit

InputBCD

OutputExcess-3

A B C D W X Y Z

0123456789

0000000011

0000111100

0011001100

0101010101

0000011111

0111100001

1001100110

1010101010

Table 3-2 Truth Table for Code Converter Example

Page 12: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-12

00

01

00 01CD

AB

C

D

A

11 10

11

10

B

1 1 1

1

X X X X

1 X X

X = BC + BD + BCD

00

01

00 01CD

AB

C

D

A

11 10

11

10

B1 1 1

X X X X

1 1 X X

W = A + BC + BD

00

01

00 01CD

AB

C

D

A

11 10

11

10

B1

X X X X

1 X X

1

11

Y = CD + CD

00

01

00 01CD

AB

C

D

A

11 10

11

10

B

1 1

1

X X X X

1 X X

Z = D

1

Fig. 3-10 Maps for BCD-to-Excess-3 Code Converter

Page 13: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-13

••

••

A

B

C

D

W

X

Y

Z

Fig. 3-11 Logic Diagram of BCD-to-Excess-3 Code Converter

Page 14: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-14

(b) Numeric designation for display(a) Segment designation

a

f b

e cg

d

Fig. 3-12 Seven-Segment Display

Page 15: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-15

BCD Input Seven-Segment Decoder

A B C D a b c d e f g

0000000011

0000111100

0011001100

0101010101

1011011111

1111100111

1101111111

1011011011

1010001010

1000111011

0011111011

All other inputs 0 0 0 0 0 0 0

TABLE 3-3Truth Table for BCD–to–Seven-Segment Decoder

Table 3-3 Truth Table for BCD–to–Seven-Segment Decoder

Page 16: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-16

••

D6 = A2 A1 A0

D5 = A2 A1 A0

D4 = A2 A1 A0

D3 = A2 A1 A0

D2 = A2 A1 A0

D1 = A2 A1 A0

D0 = A2 A1 A0

••

••

• •

••

D7 = A2 A1 A0

A0

A1

A2

Fig. 3-13 3-to-8-Line Decoder

Page 17: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

(b) Truth table

E

00001

A1

0011X

A0

0101X

D0

01111

D1

10111

D2

11011

D3

11101

(a) Logic diagram

D0

D1

D2

D3

A0

A1

E

D0 = E A1 A0

D1 = E A1 A0

D2 = E A1 A0

D3 = E A1 A0

(c) Logic Equations

••

••

••

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-17

Fig. 3-14 A 2–to–4-Line Decoder

Page 18: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-18

TABLE 3-4Truth Table for 3–to–8-Line Decoder

Inputs Outputs

A2 A1 A0 D7 D6 D5 D4 D3 D2 D1 D0

00001111

00110011

01010101

00000001

00000010

00000100

00001000

00010000

00100000

01000000

10000000

Table 3-4 Truth Table for 3–to–8-Line Decoder

Page 19: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-19

••

••

A0

A1

A2

2–to–4Decoder

20

21

1

2

3

0

Enable

D1

D2

D3

D0

20

21

1

2

3

0

Enable

D5

D6

D7

D4

2–to–4Decoder

Fig. 3-15 A 3-to-8 Decoder Constructed with Two 2-to-4 Decoders

Page 20: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-20

Z

Y

X

3–to–8Decoder

20

21

22

S

C

01

2

3

4

5

6

7

Fig. 3-16 Implementing a Binary Adder Using a Decoder

Page 21: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-21

TABLE 3-5Truth Table for Octal–to–Binary Encoder

Inputs Outputs

D7 D6 D5 D4 D3 D2 D1 D0 A2 A1 A0

00000001

00000010

00000100

00001000

00010000

00100000

01000000

10000000

00001111

00110011

01010101

Table 3-5 Truth Table for Octal–to–Binary Encoder

Page 22: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-22

Inputs Outputs

D3 D2 D1 D0 A1 A0 V

00001

0001X

001XX

01XXX

X0011

X0101

01111

TABLE 3-6Truth Table of Priority Encoder

Table 3-6 Truth Table of Priority Encoder

Page 23: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-23

00

01

00 01

D1

D3

11 10

11

10

1 1 1

1 1

A1 = D2 + D3

D2

D0

1

1 1 11

1 1

00

01

00 01

D1

D3

11 10

11

10 1 1

D2

D0

1 1 11

1 1

1 1

A0 = D3 + D1D2

D2D0D3D2

D1D0D3D2

XX

Fig. 3-17 Maps for Priority Encoder

Page 24: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-24

••

D3

D2

D1

D0

A 0

A 1

V

••

Fig. 3-18 Logic Diagram of a 4-Input Priority Encoder

Page 25: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-25

S0

S1

D0

D1

D2

D3

••

Function table

S1

0011

S0

0101

Y

D0D1D2D3

Y

Fig. 3-19 4-to-1-Line Multiplexer

Page 26: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-26

••

S0

S1

D0

D1

D2

D3

Y

TG(S0 = 0)

TG(S0 = 1)

TG(S0 = 0)

TG(S0 = 1)

TG(S1 = 1)

TG(S1 = 0)

• •

• •

• •

• •

Fig. 3-20 4-to-1-Line Multiplexer with Transmission Gates

Page 27: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-27

A0

A1

A2

A3

B0

B1

B2

B3

S(select)

E(enable)

Y0

Y1

Y2

Y3

Function table

E011

SX01

Output YAll 0'sSelect ASelect B

••

Fig. 3-21 Quadruple 2-to-1-Line Multiplexer

Page 28: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-28

4 x 1 MUX

Y

X

Z

0

1

0

1

2

3

F

S0

S1

(b) Multiplexer implementation(a) Truth table

X00001111

Y00110011

Z01010101

F01100011

F = Z

F = 0

F = 1

F = Z Z

Fig. 3-22 Implementing a Boolean Function with a Multiplexer

Page 29: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-29

A0000000011111111

B0000111100001111

C0011001100110011

D0101010101010101

F = D

F = 0

F = D

F0101100000011111

F = 0

F = D

F = 1

F = 1

F = D • •

••

C

B

A

D

0

1

0

1

2

3

4

5

6

7

S0

F

S1

S2

8 x 1 MUX

Fig. 3-23 Implementing a Four-Input Function with a Multiplexer

Page 30: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-30

E

••

••

••

••

••

S0

S1

D0

D1

D2

D3

Fig. 3-24 1-to-4-Line Demultiplexer

Page 31: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-31

Inputs Outputs

X Y C S

0011

0101

0001

0110

TABLE 3-7Truth Table of Half Adder

Table 3-7 Truth Table of Half Adder

Page 32: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-32

X ••Y

S

C

Fig. 3-25 Logic Diagram of Half Adder

Page 33: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-33

Inputs Outputs

X Y Z C S

00001111

00110011

01010101

00010111

01101001

TABLE 3-8Truth Table of Full Adder

Table 3-8 Truth Table of Full Adder

Page 34: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-34

S = X YZ + XYZ + XY Z + XY Z = X Y Z

0

1

Y

Z

X

00 01 11 10

1

YZX

1

1 1

0

1

Y

Z

X

00 01 11 10YZ

X

1

1 1 1

C = XY + XZ + YZ = XY + Z ( XY + XY ) = XY + Z ( X Y )

Fig. 3-26 Maps for Full Adder

Page 35: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-35

Half adder

••

Half adder

X

Y

Z

S

C

Fig. 3-27 Logic Diagram of Full Adder

Page 36: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-36

B3 A3

FA

S3C4

B2 A2

FA

S2

B1 A1

FA

S1

B0 A0

FA

S0

C3 C2 C1C0

Fig. 3-28 4-Bit Ripple Carry Adder

Page 37: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-37•

••

B A

S G P C

B3 A3 B2 A2 B1 A1 B0 A0

PFA PFA PFA PFA

• • •

S3 G3 P3 C3 S2 G2 P2 C2 S1 G1 P1 C1 S0 G0 P0

C0•Ripple Carry

C4

G3 P3 C3 G2 P2 C2 G1 P1 C1 G0 P0

C0

Carry Lookahead

G0-3

P0-3

• •

• ••

••

(a)

(b)

Fig. 3-29 Development of a Carry Lookahead Adder

Page 38: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-38

• • • •

• • • •

A B

Binary adder Binary subtractor

Selective2's complementer

Quadruple 2-to-1multiplexer

Result

Borrow

Complement

S0 1Subtract/Add

Fig. 3-30 Block Diagram of Binary Adder-Subtractor

Page 39: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-39

FA FA FA FA

S

B3 A3 B2 A2 B1 A1 B0 A0

C3 C2 C1 C0

C4 S3 S2 S1 S0

• • • •

Fig. 3-31 Adder-Subtractor Circuit

Page 40: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-40

DecimalSigned 2’sComplement

Signed 1’s Complement

SignedMagnitude

�7�6�5�4�3�2�1�0�0�1�2�3�4�5�6�7�8

01110110010101000011001000010000—11111110110111001011101010011000

0111011001010100001100100001000011111110110111001011101010011000—

0111011001010100001100100001000010001001101010111100110111101111—

TABLE 3-9Signed Binary Numbers

Table 3-9 Signed Binary Numbers

Page 41: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-41

Cn–1

CnC

V

n-bit Adder/Subtractor

Fig. 3-32 Overflow Detection for Addition and Subtraction

Page 42: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-42

C3 C2 C1 C0

A0B0A0B1

A1B1 A1B0

A1 A0

B1 B0

C0C3

HA HA

C2 C1

A0

A1

B1 B0

B1 B0

Fig. 3-33 A 2-Bit by 2-Bit Binary Multiplier

Page 43: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-43

Sum

Addend Augend4-bit adder

Sum

Addend Augend

4-bit adder

A0

A1

A2

C6 C5 C4 C3 C2 C1 C0

B0B1B2B3

B0B1B2B3

0

B0B1B2B3

Carryoutput

Carryoutput

••

Fig. 3-34 A 4-Bit by 3-Bit Binary Multiplier

Page 44: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-44

••

••

Outputcarry

C

0

Addend Augend

Inputcarry

4-bit binary adder

Z3 Z2 Z1 Z0

K

4-bit binary adder

S3 S2 S1 S0

BCD sum

Fig. 3-35 Block Diagram of BCD Adder

Page 45: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-45

-- 2-to-4 Line Decoder: Structural VHDL Description -- 1-- (See Figure 3-14 for logic diagram) -- 2library ieee, lcdf_vhdl; -- 3use ieee.std_logic_1164.all, lcdf_vhdl.func_prims.all; 4entity decoder_2_to_4 is --

--56port(E_n, A0, A1: in std_logic; --

D0_n, D1_n, D2_n, D3_n: out std_logic); -- 7end decoder_2_to_4; -- 8

-- 9architecture structural_1 of decoder_2_to_4 is -- 10

component NOT1 -- 11port(in1: in std_logic; -- 12

out1: out std_logic); -- 13end component; 14component NAND3 --

--15

port(in1, in2, in3: in std_logic; -- 16out1: out std_logic); -- 17

end component; 18signal E, A0_n, A1_n: std_logic; --

--19

begin -- 20g0: NOT1 port map (in1 => A0, out1 => A0_n); -- 21g1: NOT1 port map (in1 => A1, out1 => A1_n); -- 22g2: NOT1 port map (in1 => E_n, out1 => E); -- 23g3: NAND3 port map (in1 => A0_n, in2 => A1_n, -- 24

in3 => E, out1 => D0_n); -- 25g4: NAND3 port map (in1 => A0, in2 => A1_n, -- 26

in3 => E, out1 => D1_n); -- 27g5: NAND3 port map (in1 => A0_n, in2 => A1, -- 28

in3 => E, out1 => D2_n); -- 29g6: NAND3 port map (in1 => A0, in2 => A1, -- 30

in3 => E, out1 => D3_n); -- 31end structural_1; -- 32

Fig. 3-36 Structural VHDL Description of a 2-to-4 Line Decoder

Page 46: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-46-- 4-to-1 Line Multiplexer: Structural VHDL Description -- 1-- (See Figure 3-19 for logic diagram) -- 2library ieee, lcdf_vhdl; -- 3use ieee.std_logic_1164.all, lcdf_vhdl.func_prims.all; 4entity multiplexer_4_to_1_st is --

--5

port(S: in std_logic_vector(0 to 1); -- 6D: in std_logic_vector(0 to 3); -- 7Y: out std_logic); -- 8

end multiplexer_4_to_1_st; -- 9-- 10

architecture structural_2 of multiplexer_4_to_1_st is -- 11component NOT1 -- 12

port(in1: in std_logic; -- 13out1: out std_logic); -- 14

end component; 15component AND3 --

--16

port(in1, in2, in3: in std_logic; 17out1: out std_logic); --

--18

end component; 19component OR4 --

--20

port(in1, in2, in3, in4: in std_logic; -- 21out1: out std_logic); -- 22

end component; 23signal S_n: std_logic_vector(0 to 1); --

--24

signal N: std_logic_vector(0 to 3); -- 25begin -- 26

g0: NOT1 port map (S(0), S_n(0)); -- 27g1: NOT1 port map (S(1), S_n(1)); -- 28g2: AND3 port map (S_n(1), S_n(0), D0), N(0)); -- 29g3: AND3 port map (S_n(1), S(0), D(1), N(1)); -- 30g4: AND3 port map (S(1), S_n(0), D(2), N(2)); -- 31g5: AND3 port map (S(1), S(0), D(3), N(3)); -- 32g6: OR4 port map (N(0), N(1), N(2), N(3), Y); -- 33

end structural_2; -- 34

Fig. 3-37 Structural VHDL Description of a 4-to-1 Line Multiplexer

Page 47: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-47

-- 2-to-4 Line Decoder: Dataflow VHDL Description -- 1-- (See Figure 3-14 for logic diagram) -- 2Use library, use, and entity entries from 2_to_4_decoder_st; -- 3

-- 4architecture dataflow_1 of decoder_2_to_4 is -- 5

-- 6signal A0_n, A1_n: std_logic; -- 7begin -- 8

A0_n <= not A0; -- 9A1_n <= not A1; -- 10E <= not E_n; -- 11D0_n <= not ( A0_n and A1_n and E); -- 12D1_n <= not ( A0 and A1_n and E); -- 13D2_n <= not ( A0_n and A1 and E); -- 14D3_n <= not ( A0 and A1 and E); -- 15

end dataflow_1; -- 16

Fig. 3-38 Dataflow VHDL Description of a 2-to-4 Line Decoder

Page 48: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-48

-- 4-to-1 Line Mux: Conditional Dataflow VHDL Description -- 1-- Using When-Else (See Figure 3-19 for function table) -- 2library ieee; -- 3use ieee.std_logic_1164.all; 4entity multiplexer_4_to_1_we is --

--5

port (S : in std_logic_vector(1 downto 0); -- 6 D : in std_logic_vector(0 to 3); -- 7

Y : out std_logic); -- 8end multiplexer_4_to_1_we; -- 9

-- 10architecture function_table of multiplexer_4_to_1_we is -- 11begin -- 12

Y <= D(0) when S = "00" else -- 13D(1) when S = "01" else -- 14D(2) when S = "10" else -- 15D(3) when S = "11" else -- 16'X'; -- 17

end function_table; -- 18

Fig. 3-39 Conditional Dataflow VHDL Description of a 4-to-1 Line Multiplexer Using When-Else

Page 49: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-49

--4-to-1 Line Mux: Conditional Dataflow VHDL Description -- 1Using When-Else (See Figure 3-14 for logic equations) -- 2library ieee; -- 3use ieee.std_logic_1164.all; 4entity multiplexer_4_to_1_ws is --

--5

port (S : in std_logic_vector(1 downto 0); -- 6 D : in std_logic_vector(0 to 3); -- 7 Y : out std_logic); -- 8

end multiplexer_4_to_1_ws; -- 9-- 10

architecture function_table_ws of multiplexer_4_to_1_ws is -- 11begin -- 12

with S select -- 13Y <= D(0) when "00", -- 14

D(1) when "01", -- 15D(2) when "10", -- 16D(3) when "11", -- 17'X' when others; -- 18

end function_table_ws; -- 19

Fig. 3-40 Conditional Dataflow VHDL Description of a 4-to-1 Line Multiplexer Using With-Select

Page 50: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-50 -- 4-bit Adder: Hierarchical Dataflow/Structural-- (See Figures 3-27 and 3-28 for logic diagrams)library ieee;use ieee.std_logic_1164.all;entity half_adder is

port (x, y : in std_logic; s, c : out std_logic);

end half_adder;

architecture dataflow_3 of half_adder isbegin

s <= x xor y;c <= x and y;

end dataflow_3;

library ieee;use ieee.std_logic_1164.all;entity full_adder is

port (x, y, z : in std_logic; s, c : out std_logic);

end full_adder;

architecture struc_dataflow_3 of full_adder iscomponent half_adder

port(x, y : in std_logic;s, c : out std_logic);

end component;signal hs, hc, tc: std_logic;begin

HA1: half_adderport map (x, y, hs, hc);

HA2: half_adderport map (hs, z, s, tc);

c <= tc or hc;end struc_dataflow_3;

library ieee;use ieee.std_logic_1164.all;entity adder_4 is

port(B, A : in std_logic_vector(3 downto 0);C0 :

in std_logic;S : out std_logic_vector(3 downto 0);C4: out std_logic);

end adder_4;

Fig. 3-41 Hierarchical Structural/Dataflow Description of a 4-Bit Adder

Page 51: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-51

architecture structural_4 of adder_4 iscomponent full_adder

port(x, y, z : in std_logic;s, c : out std_logic);

end component;signal C: std_logic_vector(4 downto 0);begin

Bit0: full_adderport map (B(0), A(0), C(0), S(0), C(1));

Bit1: full_adder port map (B(1), A(1), C(1), S(1), C(2));

Bit2: full_adderport map (B(2), A(2), C(2), S(2), C(3));

Bit3: full_adderport map (B(3), A(3), C(3), S(3), C(4));

C(0) <= C0;C4 <= C(4);

end structural_4;

Fig. 3-42 Hierarchical Structural/Dataflow Description of a 4-Bit Adder (Continued)

Page 52: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-52

-- 4-bit Adder: Behavioral Descriptionlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;

entity adder_4_b isport(B, A : in std_logic_vector(3 downto 0);

C0 : in std_logic;S : out std_logic_vector(3 downto 0);C4: out std_logic);

end adder_4_b;

architecture behavioral of adder_4_b issignal sum : std_logic_vector(4 downto 0);begin

sum <= ('0' & A) + ('0' & B) + ("0000" & C0);C4 <= sum(4);S <= sum(3 downto 0);

end behavioral;

Fig. 3-43 Behavioral Description of a 4-Bit Adder

Page 53: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-53

// 2-to-4 Line Decoder: Structural Verilog Description // 1// (See Figure 3-14 for logic diagram) // 2module decoder_2_to_4_st_v(E_n, A0, A1, D0_n, D1_n, D2_n, D3_n);// 3

input E_n, A0, A1; // 4output D0_n, D1_n, D2_n, D3_n; // 5

// 6wire A0_n, A1_n; // 7not // 8

go(A0_n, A0), // 9g1(A1_n, A1); // 10g2(E, E_n); // 11

// 12nand // 13

g3(D0_n, A0_n, A1_n, E), // 14g4(D1_n, A0, A1_n, E), // 15g5(D2_n, A0_n, A1, E), // 16g6(D3_n, A0,A1, E); // 17

// 18endmodule // 19

Fig. 3-44 Structural Verilog Description of a 2-to-4 Line Decoder

Page 54: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-54

// 4-to-1 Line Multiplexer: Structural Verilog Description // 1// (See Figure 3-19 for logic diagram) // 2module multiplexer_4_to_1_st_v(S, D, Y); // 3

input [1:0] S; // 4input [3:0] D; // 5output Y; // 6

// 7wire [1:0] not_S; // 8wire [0:3] N; // 9

// 10not // 11

gn0(not_S[0], S[0]), // 12 gn1(not_S[1], S[1]); // 13

// 14 and // 15

g0(N[0], not_S[1], not_S[0], D[0]), // 16g1(N[1], not_S[1], S[0], D[1]), // 17g2(N[2], S[1], not_S[0], D[2]), // 18g3(N[3], S[1], S[0], D[3]); // 19

// 20or go(Y, N[0], N[1], N[2], N[3]); // 21

// 22endmodule // 23

Fig. 3-45 Structural Verilog Description of a 4-to-1 Line Multiplexer

Page 55: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-55

// 2-to-4 Line Decoder: Dataflow Verilog Description // 1// (See Figure 3-14 for logic diagram) // 2module decoder_2_to_4_df_v(E_n, A0, A1, D0_n, D1_n, D2_n, D3_n); // 3

input E_n, A0, A1; // 4output D0_n, D1_n, D2_n, D3_n; // 5

// 6assign D0_n = ~(~E_n & ~A1 & ~A0); // 7assign D1_n = ~(~E_n & ~A1 & A0); // 8assign D2_n = ~(~E_n & A1 & ~A0); // 9assign D3_n = ~(~E_n & A1 & A0); // 10

// 11endmodule // 12

Fig. 3-46 Dataflow Verilog Description of a 2-to-4 Line Decoder

Page 56: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-56

TABLE 3-10Bitwise Verilog Operators

Operation Operator

~&|^

^~ or ~^

Bitwise NOTBitwise ANDBitwise OR

Bitwise XORBitwise XNOR

Table 3-10 Bitwise Verilog Operators

Page 57: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-57

// 4-to-1 Line Multiplexer: Dataflow Verilog Description// (See Figure 3-19 for logic diagram)module multiplexer_4_to_1_df_v(S, D, Y);

input [1:0] S;input [3:0] D;output Y;

assign Y = (~ S[1] & ~ S[0] & D[0])| (~ S[1] & S[0] & D[1])| (S[1] & ~ S[0] & D[2]) | (S[1] & S[0] & D[3]);

endmodule

Fig. 3-47 Dataflow Verilog Description of a 4-to-1 Line Multiplexer Using a Boolean Equation

Page 58: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-58

// 4-to-1 Line Multiplexer: Dataflow Verilog Description// (See Figure 3-19 for function table)module multiplexer_4_to_1_cf_v(S, D, Y);

input [1:0] S;input [3:0] D;output Y;

assign Y = (S == 2'b00) ? D[0] :(S == 2'b01) ? D[1] :(S == 2'b10) ? D[2] :(S == 2'b11) ? D[3] : 1'bx ;

endmodule

Fig. 3-48 Conditional Dataflow Verilog Description of a 4-to-1 Line Multiplexer Using Combinations

Page 59: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-59

// 4-to-1 Line Multiplexer: Dataflow Verilog Description// (See Figure 3-19 for logic diagram)module multiplexer_4_to_1_tf_v(S, D, Y);

input [1:0] S;input [3:0] D;output Y;

assign Y = S[1] ? (S[0] ? D[3] : D[2]) :(S[0] ? D[1] : D[0]) ;

endmodule

Fig. 3-49 Conditional Dataflow Verilog Description of a 4-to-1 Line Multiplexer Using Binary Decisions

Page 60: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-60 // 4-bit Adder: Hierarchical Dataflow/Structural// (See Figures 3-27 and 3-28 for logic diagrams)

module half_adder_v(x, y, s, c);input x, y;output s, c;

assign s = x ^ y;assign c = x & y;

endmodule

module full_adder_v(x, y, z, s, c);input x, y, z;output s, c;

wire hs, hc, tc;

half_adder_v HA1(x, y, hs, hc),HA2(hs, z, s, tc);

assign c = tc | hc;

endmodule

module adder_4_v(B, A, C0, S, C4);input[3:0] B, A;input C0;output[3:0] S;output C4;

wire[3:1] C;

full_adder_v Bit0(B[0], A[0], C0, S[0], C[1]),Bit1(B[1], A[1], C[1], S[1], C[2]),Bit2(B[2], A[2], C[2], S[2], C[3]),Bit3(B[3], A[3], C[3], S[3], C4);

endmodule

Fig. 3-50 Hierarchical Dataflow/Structural Description of a 4-Bit Adder

Page 61: M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN ...islab.soe.uoguelph.ca/.../chap3-mano.pdf · M. Morris Mano & Charles R. Kime ... M. Morris Mano & Charles R. Kime LOGIC

© 2001 Prentice Hall, Inc.M. Morris Mano & Charles R. KimeLOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

3-61

// 4-bit Adder : Behavioral Verilog Description

module adder_ 4_b_v(A, B, C0, S, C4);

input [3:0] A, B;

input C0;

output [3:0] S ;

output C4;

assign {C4, S } = A + B + C0;

endmodule

Fig. 3-51 Behavioral Description of a 4-Bit Adder Using Verilog