Chapter 7 Digital System Design - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A...

56
Chapter 7 Digital System Design

Transcript of Chapter 7 Digital System Design - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A...

Page 1: Chapter 7 Digital System Design - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

Chapter 7

Digital System Design

Page 2: Chapter 7 Digital System Design - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

Figure 7.1. Tri-state driver.

Page 3: Chapter 7 Digital System Design - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

Figure 7.2. A digital system with k registers.

Page 4: Chapter 7 Digital System Design - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

Figure 7.3. Details for connecting registers to a bus.

Page 5: Chapter 7 Digital System Design - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

Figure 7.4. Using multiplexers to implement a bus.

Page 6: Chapter 7 Digital System Design - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

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

Page 7: Chapter 7 Digital System Design - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

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 - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

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 - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

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 - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

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

Page 11: Chapter 7 Digital System Design - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

Table 7.1. Operations performed in the processor.

Page 12: Chapter 7 Digital System Design - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

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 - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

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 - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

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

Page 15: Chapter 7 Digital System Design - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

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 - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

Figure 7.13. Code for the processor.

Please see “portrait orientation” PowerPoint file for Chapter 7

Page 17: Chapter 7 Digital System Design - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

Figure 7.14. Alternative code for the processor.

Please see “portrait orientation” PowerPoint file for Chapter 7

Page 18: Chapter 7 Digital System Design - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

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

Page 19: Chapter 7 Digital System Design - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

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 - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

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 - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

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

Page 22: Chapter 7 Digital System Design - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

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 - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

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 - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

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

Page 25: Chapter 7 Digital System Design - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

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 - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

Figure 7.23. ASM chart for the multiplier.

Page 27: Chapter 7 Digital System Design - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

Figure 7.24. Datapath circuit for the multiplier.

Please see “portrait orientation” PowerPoint file for Chapter 7

Page 28: Chapter 7 Digital System Design - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

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 - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

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 - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

Figure 7.27. Simulation results for the multiplier circuit.

Page 31: Chapter 7 Digital System Design - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

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 - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

Figure 7.29. ASM chart for the divider.

Please see “portrait orientation” PowerPoint file for Chapter 7

Page 33: Chapter 7 Digital System Design - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

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 - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

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 - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

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 - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

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 - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

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 - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

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 - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

Figure 7.36. Simulation results for the divider circuit.

Page 40: Chapter 7 Digital System Design - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

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 - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

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 - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

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 - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

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 - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

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 - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

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 - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

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 - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

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 - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

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 - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

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 - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

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 - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

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 - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

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 - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

Figure 7.50. Asynchronous inputs.

D Q

Q

Data

Clock

(asynchronous)D Q

Q

Data(synchronous)

Page 54: Chapter 7 Digital System Design - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

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 - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

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 - Utah ECEkalla/ECE3700/verlogic3_chapter7.pdf · Figure 7.7. A digital system like the one in Figure 7.2. Please see “portrait orientation” PowerPoint

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)