CS 140 Lecture 11 Sequential Networks: Timing and Retiming Professor CK Cheng CSE Dept. UC San Diego.
Download ReportTranscript CS 140 Lecture 11 Sequential Networks: Timing and Retiming Professor CK Cheng CSE Dept. UC San Diego.
CS 140 Lecture 11 Sequential Networks: Timing and Retiming Professor CK Cheng CSE Dept. UC San Diego 1 Sequential Networks Timing: Setup Time and Hold Time Constraints Q D Q’ CLK 2 Sequential Networks B A D C Combinational CLK CLK A typical sequential network has both a combinational circuit and flip-flips. 3 B A C Combinational CLK CLK tcq + tcomb + tsetup < T thold < tcq + tcomb Clock period Shortest path 4 Input Timing Constraints • Setup time: tsetup = time before the clock edge that data must be stable (i.e. not changing) • 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 (ta = tsetup + thold) CLK D tsetup thold ta 5 Output Timing Constraints • 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) CLK Q tccq tpcq 6 Dynamic Discipline • The delay between registers has a minimum and maximum delay, dependent on the delays of the circuit elements CLK CLK Q1 (a) CL R1 D2 R2 Tc CLK Q1 D2 (b) 7 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. CLK CLK Q1 C L D2 R1 R2 Tc CLK Tc ≥ tpcq + tpd + tsetup tpd ≤ Tc – (tpcq + tsetup) Q1 D2 tpcq tpd tsetup 8 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. CLK CLK Q1 R1 C L D2 R2 CLK thold < tccq + tcd tcd > thold - tccq Q1 D2 tccq tcd thold 9 Timing Analysis Timing Characteristics tccq = 30 ps CLK CLK A tpcq = 50 ps tsetup = 60 ps B C D tpd = thold = 70 ps X' X Y' Y tpd = 35 ps tcd = 25 ps tcd = Setup time constraint: Hold time constraint: Tc ≥ tccq + tpd > thold ? fc = 1/Tc = 10 Timing Analysis Timing Characteristics tccq = 30 ps CLK CLK A tpcq = 50 ps tsetup = 60 ps B C D thold = 70 ps X' X Y' Y tpd = 3 x 35 ps = 105 ps tpd = 35 ps tcd = 25 ps tcd = 25 ps Setup time constraint: Hold time constraint: Tc ≥ (50 + 105 + 60) ps = 215 ps tccq + tpd > thold ? fc = 1/Tc = 4.65 GHz (30 + 25) ps > 70 ps ? No! 11 Fixing Hold Time Violation Timing Characteristics Add buffers to the short paths: tccq = 30 ps tpcq = 50 ps CLK CLK A tsetup = 60 ps B thold = 70 ps C D tpd = X' X Y' Y tpd = 35 ps tcd = 25 ps tcd = Setup time constraint: Hold time constraint: Tc ≥ tccq + tpd > thold ? fc = 12 Fixing Hold Time Violation Add buffers to the short paths: Timing Characteristics tccq = 30 ps tpcq = 50 ps CLK CLK A tsetup = 60 ps B thold = 70 ps C D X' X Y' Y tpd = 3 x 35 ps = 105 ps tpd = 35 ps tcd = 25 ps tcd = 2 x 25 ps = 50 ps Setup time constraint: Hold time constraint: Tc ≥ (50 + 105 + 60) ps = 215 ps tccq + tpd > thold ? fc = 1/Tc = 4.65 GHz (30 + 50) ps > 70 ps ? Yes! 13 Clock Skew • The clock doesn’t arrive at all registers at the same time • Skew is the difference between two clock edges • Examine the worst case to guarantee that the dynamic discipline is not violated for any register – many registers in a system! delay CLK CLK1 CLK2 Q1 R1 C L D2 R2 t skew CLK1 CLK2 CLK 14 Setup Time Constraint with Clock Skew • In the worst case, the CLK2 is earlier than CLK1 CLK1 CLK2 Q1 C L R1 Tc D2 R2 CLK1 CLK2 Q1 D2 tpcq tpd tsetup tskew Tc ≥ tpcq + tpd + tsetup + tskew tpd ≤ Tc – (tpcq + tsetup + tskew) 15 Hold Time Constraint with Clock Skew • In the worst case, CLK2 is later than CLK1 CLK1 CLK2 Q1 R1 CLK1 CLK2 Q1 D2 tccq tcd C L D2 R2 tccq + tcd > thold + tskew tcd > thold + tskew – tccq tskew thold 16 Timing and Retiming • Retiming: Adjust the clock skew so that the clock period can be reduced. • Add a few more examples on timing and retiming. 17