Lecture 5. Sequential Logic 3

15
Lecture 5. Sequential Logic 3 Prof. Taeweon Suh Computer Science Education Korea University 2010 R&E Computer System Education & Research

description

2010 R&E Computer System Education & Research. Lecture 5. Sequential Logic 3. Prof. Taeweon Suh Computer Science Education Korea University. What Determines Clock Speed?. What is the operating clock frequency of your computer? Why does the atom processor on your netbook run at 1.4GHz? - PowerPoint PPT Presentation

Transcript of Lecture 5. Sequential Logic 3

Page 1: Lecture 5. Sequential Logic 3

Lecture 5. Sequential Logic 3

Prof. Taeweon SuhComputer Science Education

Korea University

2010 R&E Computer System Education & Research

Page 2: Lecture 5. Sequential Logic 3

Korea Univ

What Determines Clock Speed?

• What is the operating clock frequency of your computer? Why does the atom processor on your netbook run at 1.4GHz? Why does the Core 2 Duo on your notebook run at 2.0GHz? Why can’t run at 100GHz or 1000GHz? We are going to answer to this question today

2

Page 3: Lecture 5. Sequential Logic 3

Korea Univ

Synchronous Sequential Circuit

• As studied, virtually all the synchronous sequential circuits (including CPU) are composed of Flip-flops cascaded Combinational logic between flip-flops

• Pipeline is also implemented in this way• We are going to talk deep about this in computer

architecture class next semester

3

R1 R2 R3

Q2D2 D3D1CL1 CL2

Q3

Page 4: Lecture 5. Sequential Logic 3

Korea Univ

Short Answer

• Suppose that the circuit does addition (+1) to the input (D1) CL1 does “+1” So, we want to get “D1+1” after 1 clock cycle

4

R1 R2

Q2D2D1CL1

CL1 delay CL1 delay

If delay is longer than 1ns, the circuit can’t run at 1GHz

If delay is shorter than 1ns, the circuit can run at 1GHz

Page 5: Lecture 5. Sequential Logic 3

Korea Univ

A Little Long Answer

• Let’s talk a little deep about what contributes to the delay

• Consequently what determines the clock frequency of synchronous sequential circuit

5

Page 6: Lecture 5. Sequential Logic 3

Korea Univ

Timing

• Flip-flop samples D at the (rising) edge of the clock

• Input data in D must be stable when it is sampled Similar to a photograph, input data must be stable

around the clock edge If input data is changing when it is sampled,

metastability can occur

6

Page 7: Lecture 5. Sequential Logic 3

Korea Univ

Input Timing Constraints

• Setup time tsetup = time before the clock edge that data must be stable

• Hold time thold = time after the clock edge that data must be stable

• Aperture time ta = time around clock edge that data must be stable (tsetup +

thold)

7

CLK

tsetup

D

thold

ta

Page 8: Lecture 5. Sequential Logic 3

Korea Univ

Output Timing of Flip-Flop

• Propagation delay tpcq = time after clock edge that the output Q is guaranteed to be

stable (i.e., to stop changing)

• Contamination delay tccq = time after clock edge that Q might be unstable (i.e., start

changing)

• Output timing is determined depending on how you implement flip-flop

8

CLK

tccq

tpcq

tsetup

Q

D

thold

Page 9: Lecture 5. Sequential Logic 3

Korea Univ

Dynamic Discipline

• The input to a synchronous sequential circuit must be stable during the aperture (setup and hold) time around the clock edge.

• Specifically, the input must be stable at least tsetup before the clock edge

at least until thold after the clock edge

9

Page 10: Lecture 5. Sequential Logic 3

Korea Univ

Dynamic Discipline

• The delay between registers has a minimum and maximum delay, dependent on the delays of the circuit elements

10

CL

CLKCLK

R1 R2

Q1 D2

(a)

CLK

Q1

D2

(b)

Tc

Page 11: Lecture 5. Sequential Logic 3

Korea Univ

Setup Time Constraint

• The setup time constraint depends on the maximum delay from register R1 through the combinational logic

• The input to register R2 must be stable at least tsetup before the clock edge

11

CLK

Q1

D2

Tc

tpcq tpd tsetup

CL

CLKCLK

Q1 D2

R1 R2 Tc ≥ tpcq + tpd + tsetup

tpd ≤ Tc – (tpcq + tsetup)

Page 12: Lecture 5. Sequential Logic 3

Korea Univ

Hold Time Constraint

• The hold time constraint depends on the minimum delay from register R1 through the combinational logic

• The input to register R2 must be stable for at least thold after the clock edge

12

CLK

Q1

D2

tccq tcd

thold

CL

CLKCLK

Q1 D2

R1 R2 tccq + tcd > thold

tcd > thold - tccq

Page 13: Lecture 5. Sequential Logic 3

Korea Univ

Timing Analysis Example

13

CLK CLK

A

B

C

D

X'

Y'

X

Y

Timing Characteristics

tccq = 30 ps

tpcq = 50 ps

tsetup = 60 ps

thold = 70 ps

tpd = 35 ps

tcd = 25 ps

Page 14: Lecture 5. Sequential Logic 3

Korea Univ

Timing Analysis Example

14

CLK CLK

A

B

C

D

X'

Y'

X

Y

per

gate

Setup time constraint:

tpd = 3 x 35 ps = 105 ps

Tc ≥ (50 + 105 + 60) ps = 215 ps

fc = 1/Tc = 4.65 GHz

Hold time constraint:

tccq + tcd > thold ?

(30 + 25) ps > 70 ps ? No!

Timing Characteristics

tccq = 30 ps

tpcq = 50 ps

tsetup = 60 ps

thold = 70 ps

tpd = 35 ps

tcd = 25 psTc ≥ tpcq + tpd + tsetup

tccq + tcd > thold

Page 15: Lecture 5. Sequential Logic 3

Korea Univ

Fixing Hold Time Violation

15

Add buffers to the short paths:

Setup time constraint:

tpd = 3 x 35 ps = 105 ps

Tc ≥ (50 + 105 + 60) ps = 215 ps

fc = 1/Tc = 4.65 GHz

Tc ≥ tpcq + tpd + tsetup

per

gate

Timing Characteristics

tccq = 30 ps

tpcq = 50 ps

tsetup = 60 ps

thold = 70 ps

tpd = 35 ps

tcd = 25 ps

tccq + tcd > thold

Hold time constraint:

tccq + tcd > thold ?

(30 + 50) ps > 70 ps ? Yes!

CLK CLK

A

B

C

D

X'

Y'

X

Y