Lecture 10: Sequential Networks: Timing and Retiming
CSE 140: Components and Design Techniques for Digital Systems Spring 2014
CK Cheng, Diba Mirza
- Dept. of Computer Science and Engineering
University of California, San Diego
1
Lecture 10: Sequential Networks: Timing and Retiming CSE 140: - - PowerPoint PPT Presentation
Lecture 10: Sequential Networks: Timing and Retiming CSE 140: Components and Design Techniques for Digital Systems Spring 2014 CK Cheng, Diba Mirza Dept. of Computer Science and Engineering University of California, San Diego 1 Timing
CK Cheng, Diba Mirza
University of California, San Diego
1
2
3
4
7
8
9
10
11
CLK tsetup D thold ta
12
CLK tsetup D thold ta
CLK tccq tpcq Q
13
CLK tccq tpcq Q
14
15
16
17
Combinational
18
Combinational
19
X1 X2 X4
X3 Y1 Y2 Y4 Y3
20
X1 X2 X4
X3 Y1 Y2 Y4 Y3
Minimum time from when an input changes until any output starts to change
21
X1 X2 X4
Minimum time from when an input changes until any output starts to change
Maximum time from when an input changes until the output or outputs of a combinational circuit are guaranteed to reach their final value (i.e., stop changing)
X3 Y1 Y2 Y4 Y3
22
A B C D Y PI Q: Which path in the above circuit determines the contamination delay of the circuit (assuming the delay of all the gates is the same)?
23
A B C D Y PI Q: Which path in the above circuit determines the propagation delay of the circuit (assuming the delay of all the gates is the same)?
C L CLK CLK R1 R2 Q1 D2 (a) CLK Q1 D2 (b) Tc
25
C L CLK CLK R1 R2 Q1 D2 (a) CLK Q1 D2 (b) Tc
26
Propagation delay of CL + Propagation delay of R2
Propagation delay of CL + setup time of R1
Propagation delay of CL + Propagation delay of R2
Propagation delay of CL E. Propagation delay of CL + Propagation delay of R2
C L CLK CLK R1 R2 Q1 D2 (a) CLK Q1 D2 (b) Tc
27
propagation delay of CL + propagation of R2
propagation time of CL +setup time of R1
Contamination delay of CL + Propagation time of R2
Contamination delay of CL E. Contamination delay of CL + Contamination delay of R2
through the combinational logic.
CLK Q1 D2 Tc tpcq tpd tsetup C L CLK CLK Q1 D2 R1 R2
28
Maximum delay, tmax = Setup Time Constraint:
CLK Q1 D2 Tc tpcq tpd tsetup C L CLK CLK Q1 D2 R1 R2
29
through the combinational logic.
30
Minimum delay, tmin = Hold Time Constraint:
CLK Q1 D2 tccq tcd thold C L CLK CLK Q1 D2 R1 R2
31
CLK Q1 D2 tccq tcd thold C L CLK CLK Q1 D2 R1 R2
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
tpd = tcd = Setup time constraint: Tc ≥ fc = 1/Tc = Hold time constraint: tccq + tcd > thold ?
32
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
33
tpd = 3 x 35 ps = 105 ps tcd = 25 ps Setup time constraint: 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 ps
tpd = tcd = Setup time constraint: Tc ≥ fc = Hold time constraint: tccq + tcd > thold ?
CLK CLK A B C D X' Y' X Y
Add buffers to the short paths:
34
Timing Characteristics
tccq = 30 ps tpcq = 50 ps tsetup = 60 ps thold = 70 ps tpd = 35 ps tcd = 25 ps
tpd = 3 x 35 ps = 105 ps tcd = 2 x 25 ps = 50 ps Setup time constraint: Tc ≥ (50 + 105 + 60) ps = 215 ps fc = 1/Tc = 4.65 GHz Hold time constraint: tccq + tcd > thold ? (30 + 50) ps > 70 ps ? Yes!
CLK CLK A B C D X' Y' X Y
Add buffers to the short paths:
35
violated for any register – many registers in a system!
t skew
CLK1 CLK2 C L CLK2 CLK1 R1 R2 Q1 D2 CLK delay CLK
36
CLK1 Q1 D2 Tc tpcq tpd tsetuptskew C L CLK2 CLK1 R1 R2 Q1 D2 CLK2
37
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 tskew = 50 ps
tpd = 3 x 35 ps = 105 ps tcd = 25 ps Setup time constraint: Tc ≥ 265 ps fc = 1/Tc =3.77 GHz Without skew we got fc =4.65 GHz
38
tccq tcd thold Q1 D2 tskew C L CLK2 CLK1 R1 R2 Q1 D2 CLK2 CLK1
39
Timing Characteristics
tccq = 30 ps tpcq = 50 ps tsetup = 60 ps thold = 70 ps tpd = 35 ps tcd = 25 ps tskew = 50 ps
tpd = 3 x 35 ps = 105 ps tcd = 2 x 25 ps = 50 ps Hold time constraint: tccq + tcd > thold + tskew? (30 + 50) ps > (70 ps +50) ps ?
CLK CLK A B C D X' Y' X Y
Add buffers to the short paths:
40
tccq tcd thold Q1 D2 tskew C L CLK2 CLK1 R1 R2 Q1 D2 CLK2 CLK1
41
Timing Characteristics
tccq = 30 ps tpcq = 50 ps tsetup = 60 ps thold = 70 ps tpd = 35 ps tcd = 25 ps tskew = ?
tpd = 3 x 35 ps = 105 ps tcd = 2 x 25 ps = 50 ps
CLK CLK A B C D X' Y' X Y
Add buffers to the short paths:
42
43