chapter 7 digital system design - university of utahkalla/ece3700/verlogic3_chapter7.pdf · chapter...

56
Chapter 7 Digital System Design

Upload: others

Post on 24-Jun-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Chapter 7

Digital System Design

Page 2: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.1. Tri-state driver.

Page 3: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.2. A digital system with k registers.

Page 4: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.3. Details for connecting registers to a bus.

Page 5: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.4. Using multiplexers to implement a bus.

Page 6: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.5. Code for an n-bit register of the type in Figure 7.2.

Page 7: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

module trin (Y, E, F); parameter n = 8; input [n-1:0] Y; input E; output wire [n-1:0] F; assign F = E ? Y : 'bz; endmodule

Figure 7.6. Code for an n-bit tri-state module.

Page 8: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.7. A digital system like the one in Figure 7.2.

Please see “portrait orientation” PowerPoint file for Chapter 7

Page 9: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.8. Using multiplexers to implement a bus.

Please see “portrait orientation” PowerPoint file for Chapter 7

Page 10: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.9. A digital system that implements a simple processor.

Page 11: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Table 7.1. Operations performed in the processor.

Page 12: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.10. A part of the control circuit for the processor.

Reset Up-counter

Clear

w 0 En

y 0

w 1

y 1 y 2 y 3

1

T 1 T 2 T 3

2-to-4 decoder

Q 1 Q 0 Clock

T 0

Page 13: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.11. The function register and decoders.

Clock

X 0

w 0 En

y 0

w 1

y 1 y 2 y 3

1

X 1 X 2 X 3

2-to-4 decoder

Function Register

Y 0

w 0 En

y 0

w 1

y 1 y 2 y 3

1

Y 1 Y 2 Y 3

2-to-4 decoder

I 0

En

y 0 y 1 y 2 y 3

1

I 1 I 2 I 3

2-to-4 decoder

FR in

f 1 f 0 Rx 1 Rx0 Ry 1 Ry 0

w 0 w 1

Function

Page 14: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Table 7.2. Control signals asserted in each operation/time step.

Page 15: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.12. A two-bit up-counter with synchronous reset.

module upcount (Clear, Clock, Q); input Clear, Clock; output reg [1:0] Q; always @(posedge Clock) if (Clear) Q <= 0; else Q <= Q + 1; endmodule

Page 16: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.13. Code for the processor.

Please see “portrait orientation” PowerPoint file for Chapter 7

Page 17: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.14. Alternative code for the processor.

Please see “portrait orientation” PowerPoint file for Chapter 7

Page 18: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.15. Timing simulation for the Verilog code in Figure 7.14.

Page 19: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.16 Pseudo-code for the bit counter.

B = 0 ; while A ≠ 0 do

if a 0 = 1 thenB = B + 1 ;

end if;Right-shift A ;

end while;

Page 20: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.17. ASM chart for the pseudo-code in Figure 7.16.

Please see “portrait orientation” PowerPoint file for Chapter 7

Page 21: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.18. Datapath for the ASM chart in Figure 7.17.

Page 22: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.19. ASM chart for the bit counter control circuit.

EA

EB z

LB

s

a 0

Reset

S3

0

1

0

1

0 1

s

S2

S1

0

1

Done

Page 23: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.20. Verilog code for the bit-counting circuit.

Please see “portrait orientation” PowerPoint file for Chapter 7

Page 24: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.21. Simulation results for the bit-counting circuit.

Page 25: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.22. An algorithm for multiplication.

(a) Manual method

P = 0 ; for i = 0 to n 1 do

if b i = 1 thenP = P + A ;

end if; Left-shift A ;

end for;

(b) Pseudo-code

Multiplicand11

Product

Multiplier10

01

11

11011011

00001011

01 001111

×

Binary

1311×

1313143

Decimal

Page 26: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.23. ASM chart for the multiplier.

Page 27: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.24. Datapath circuit for the multiplier.

Please see “portrait orientation” PowerPoint file for Chapter 7

Page 28: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.25. ASM chart for the multiplier control circuit.

Please see “portrait orientation” PowerPoint file for Chapter 7

Page 29: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.26. Verilog code for the multiplier circuit.

Please see “portrait orientation” PowerPoint file for Chapter 7

Page 30: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.27. Simulation results for the multiplier circuit.

Page 31: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.28. An algorithm for division.

R = 0 ; for i = 0 to n 1 do

Left-shift R ||A ; if R ≥ B then

q i = 1 ; R = R B ;

elseq i = 0 ;

end if; end for;

(c) Pseudo-code

9 14095045

5

15

100

1010

01100100100001111

1001001

0110000

100111101001101

QAB

R(a) An example using decimal numbers

(b) Using binary numbers

Page 32: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.29. ASM chart for the divider.

Please see “portrait orientation” PowerPoint file for Chapter 7

Page 33: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.30. Datapath circuit for the divider.

E L E

L E

DataB

LRER

EQ

Clock

Q

Register

EB

0

R

DataA LA

EA

+ E c out c in 1

B

w

Rseln

Left-shiftregister

n

Left-shiftregister

n n

n n

n n

Left-shiftregister

a n 1 ” A

w

0 1

Page 34: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.31. ASM chart for the divider control circuit.

Please see “portrait orientation” PowerPoint file for Chapter 7

Page 35: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.32. An example of division using n = 8 clock cycles.

Load A, B 0 0 0 1

0 0 1 1

0 1 2 3 1

0 0

0 0 0

4 5 6 0 0 7

1 0 0 0 1 1 0 0

Clock cycle

0 0 8

0

A/ Q

0 1 1 0

1 1 0 0

0 0 0

0 0 0

0 0 0 0

1 0 0 0

0 0 0 0

0 0 0

0 0 0

0 1 1 1

0 0 0 0 0 0 1 1 1

0 0 0 0 1 1 1 1

rr 0 R

0 0 0 0

0 0 0 0

0 0 0

0 0 0

0 0

0 0 0 0 0 0 0 0

0 0 0

0 0 0 0

0 0 0 0

0 1 1

1 0 0

1 0 0 1

0 0 0 1

0 0 1 0

0 0 0

0 0 0

0 0 1 1

0 1 0 0 0 1 1 0 0

0 0 0 0 1 0 1 0

0 0 0 0 0 0 0 0 0 0

100011001001 A B

Shift left

Subtract, Q 0 1 ←

Shift left, Q 0 0 ←

Shift left, Q 0 0 ←

Shift left, Q 0 0 ←

Subtract, Q 0 1 ←

Subtract, Q 0 1 ←

Subtract, Q 0 1 ←

Shift left, Q 0 0 ←

Page 36: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.33. ASM chart for the enhanced divider control circuit.

Please see “portrait orientation” PowerPoint file for Chapter 7

Page 37: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.34. Datapath circuit for the enhanced divider.

Please see “portrait orientation” PowerPoint file for Chapter 7

Page 38: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.35. Verilog code for the divider circuit.

Please see “portrait orientation” PowerPoint file for Chapter 7

Page 39: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.36. Simulation results for the divider circuit.

Page 40: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.37. An algorithm for finding the mean of k numbers.

Please see “portrait orientation” PowerPoint file for Chapter 7

Page 41: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.38. Datapath circuit for the mean operation.

Please see “portrait orientation” PowerPoint file for Chapter 7

Page 42: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.39. ASM chart for the mean operation control circuit.

Please see “portrait orientation” PowerPoint file for Chapter 10

Page 43: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.40. Pseudo-code for the sort operation.

for i = 0 to k 2 doA = R i ; for j = i + 1 to k 1 do

B = R j ; if B < A then

R i = B ; R j = A ; A = R i ;

end if ; end for;

end for;

Page 44: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.41. ASM chart for the sort operation.

Please see “portrait orientation” PowerPoint file for Chapter 7

Page 45: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.42. A part of the datapath circuit for the sort operation.

E E E E

Clock

DataIn

WrInit

Rin 3 Rin 2 Rin 1 Rin 0

E E Bin Ain

DataOut

Rd

ABData

Imux

< Bout

BltA

1 0 A B

0 1

RData

R 0 R 1 R 2 R 3

0 1 2 3

ABmux n

n

n

Page 46: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.43. A part of the datapath circuit for the sort operation.

L E

L E

1 0

1 0

k 2 ” =

k 1 ” =

LJEJ

LIEI

2-to-4 decoder

WrInit

Wr

RAdd

Clock

Csel

Int

Imux

2

C i C j

z i

z j Cmux

Rin 0 Rin 1

Rin 2

Rin 3

0

2

2

2

2

2

Counter Counter

R

Q Q

R

w 0 w 1 ,

En

y 0 y 1 y 2

y 3

2

Page 47: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.44. ASM chart for the control circuit.

Please see “portrait orientation” PowerPoint file for Chapter 7

Page 48: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.45. Verilog code for the sorting circuit.

Please see “portrait orientation” PowerPoint file for Chapter 7

Page 49: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.46. Simulation results for the sort operation.

Please see “portrait orientation” PowerPoint file for Chapter 7

Page 50: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.47. An H tree clock distribution network.

Clock

ff

ff

ff

ff

ff

ff

ff

ff

ff

ff

ff

ff

ff

ff

ff

ff

Page 51: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 10.48. A flip-flop in an integrated circuit.

D Q

Data

Clock

Chip package pin

A

B

t Clock

t Data

Out

t od

Page 52: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.49. Flip-flop timing in a chip.

Data

Clock

A

3ns

4.5ns

1.5ns B

Page 53: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.50. Asynchronous inputs.

D Q

Q

Data

Clock

(asynchronous)D Q

Q

Data(synchronous)

Page 54: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure 7.51. Switch debouncing circuit.

DataS

R

V DD

R

V DD

R

(a) Single-pole single-throw switch

Data

V DD

R

(b) Single-pole double-throw switch with a basic SR latch

Page 55: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure P7.1. Pseudo-code for integer division.

Q = 0 ; R = A ; while ((R B) > 0) do

R = R B ; Q = Q + 1 ;

end while ;

––

Page 56: Chapter 7 Digital System Design - University of Utahkalla/ECE3700/verlogic3_chapter7.pdf · Chapter 7 Digital System Design. Figure 7.1. Tri-state driver. Figure 7.2. A digital system

Figure P7.2. The 555 programmable timer chip.

5 V

R b

R a

555 Timer

8

7

6

5 1

2

3

4

C 1

0.01µ F

Clock (output)