260 likes | 276 Vues
ELEC 7770 Advanced VLSI Design Spring 2012 Clock Skew Problem. Vishwani D. Agrawal James J. Danaher Professor ECE Department, Auburn University Auburn, AL 36849 vagrawal@eng.auburn.edu http://www.eng.auburn.edu/~vagrawal/COURSE/E7770_Spr12/course.html. Single Clock. FF A. FF B. Comb.
E N D
ELEC 7770Advanced VLSI DesignSpring 2012Clock Skew Problem Vishwani D. Agrawal James J. Danaher Professor ECE Department, Auburn University Auburn, AL 36849 vagrawal@eng.auburn.edu http://www.eng.auburn.edu/~vagrawal/COURSE/E7770_Spr12/course.html ELEC 7770: Advanced VLSI Design (Agrawal)
Single Clock FF A FF B Comb. Data_out Data_in CKA CKB CK CKA CKB Single-cycle path delay ELEC 7770: Advanced VLSI Design (Agrawal)
Multiple Clocks FF A FF B Comb. Data_out Data_in CKA CKB CKA CKB Multi-cycle path delay ELEC 7770: Advanced VLSI Design (Agrawal)
Clock Skew • Skew is the time delay of clock signal at a flip-flop with respect to some time reference. • For a given layout each flip-flop has a skew, measured with respect to a common reference. • Skews of flip-flops separated by combinational paths affect the short-path and long-path constraints. ELEC 7770: Advanced VLSI Design (Agrawal)
Skews for Single-Cycle Paths Combinational Block Delay: FFi CKi FFj CKj δ(i,j) ≤ d(i,j) ≤ Δ(i,j) xi xj xi and xj are arrival times of clock edges ELEC 7770: Advanced VLSI Design (Agrawal)
Delay Latch or D-Latch SR-latch D CK Q Q ELEC 7770: Advanced VLSI Design (Agrawal)
Setup and Hold Times of Latch • Signals are synchronized with respect to clock (CK). • Operation is level-sensitive: • CK = 1 allows data (D) to pass through • CK = 0 holds the value of Q, ignores data (D) • Setup time is the interval before the clock transition during which data (D) should be stable (not change). This will avoid any possible race condition. • Hold time is the interval after the clock transition during which data should not change. This will avoid data from latching incorrectly. ELEC 7770: Advanced VLSI Design (Agrawal)
Latch Inputs tp 1 0 D time Ts Th 1 0 CK time Tr ELEC 7770: Advanced VLSI Design (Agrawal)
Master-Slave D-Flip-Flop Master latch Slave latch D CK Q Q ELEC 7770: Advanced VLSI Design (Agrawal)
Master-Slave D-Flip-Flop • Uses two level-sensitive clocked D-latches. • Transfers data (D) with one clock period delay. • Operation is edge-triggered: • Negative edge-triggered, CK = 1→0, Q = D (previous slide) • Positive edge-triggered, CK = 0→1, Q = D ELEC 7770: Advanced VLSI Design (Agrawal)
Negative-Edge Triggered D-Flip-Flop Clock period, Tck Slave open Master closed Master open Slave closed CK D Triggering clock edge Hold time Th Setup time Ts Data stable Data can change Data can change Time ELEC 7770: Advanced VLSI Design (Agrawal)
Skews for Single-Cycle Paths Combinational Block Delay: FFi CKi FFj CKj δ(i,j) ≤ d(i,j) ≤ Δ(i,j) xi xj xi and xj are arrival times of clock edges ELEC 7770: Advanced VLSI Design (Agrawal)
Short-Path Constraint (Double-Clocking) Tck CKi si intended Not intended CKj Thj sj δ(i,j) si + δ(i,j) ≥ sj + Thj ELEC 7770: Advanced VLSI Design (Agrawal)
Long-Path Constraint (Zero-Clocking) Tck CKi si Not intended intended CKj sj Tsj Δ(i,j) si + Δ(i,j) ≤ sj + Tck – Tsj ELEC 7770: Advanced VLSI Design (Agrawal)
Maximum Clock Frequency Linear program: Objective function, Minimize Tck Subject to constraints, for all flip-flop pairs (i,j), (1) si + δ(i,j) ≥ sj + Thj short path (2) si + Δ(i,j) ≤ sj + Tck – Tsj long path ELEC 7770: Advanced VLSI Design (Agrawal)
Effects of Constraints • Short path: • Independent of clock • δ(i,j) ≥ sj – si + Thj • Long path: • Tck ≥ si – sj + Δ(i,j) + Tsj • Example: Shift register, δ(i,j) ≈ Δ(i,j) ≈ 0 • si – sj ≥ Thj > 0 si > sj for correct operation • Tck ≥ si – sj + Tsjsj > si for maximum speed • Clock routed opposite to data ELEC 7770: Advanced VLSI Design (Agrawal)
Shift Register Example Delay ≈ 0 Delay ≈ 0 FFi FFj FFk Delay = si sj sk CK Rk Rj Ri Ci Cj Ck • si – sj ≥ Thj for correct operation • Tck ≥ si – sj + Tsj for correct operation • Maximum clock speed, Tck = Thj + Tsj ELEC 7770: Advanced VLSI Design (Agrawal)
Finding Clock Skews sk FFi FFj FFk si CK Ri Rj Rk Ci Cj Ck sj Use Elmore delay formula to calculate si, sj, sk. ELEC 7770: Advanced VLSI Design (Agrawal)
Interconnect Delay: Elmore Delay Model • W. Elmore, “The Transient Response of Damped Linear Networks with Particular Regard to Wideband Amplifiers,” J. Appl. Phys., vol. 19, no.1, pp. 55-63, Jan. 1948. i Rj Ri Rk j k CK Ci Shared resistance: Rii = Ri Rij = Rji = Ri Rik = Rki = Ri Rjj = Ri + Rj Rjk = Rkj = Ri + Rj Rkk = Ri + Rj + Rk Cj Ck ELEC 7770: Advanced VLSI Design (Agrawal)
Elmore Delay Calculation Delay at nodes, sk = 0.69 (Ci × Rik + Cj × Rjk + Ck × Rkk ) = 0.69 [Ri Ci + (Ri + Rj) Cj + (Ri + Rj + Rk)Ck] sj = 0.69 [Ri Ci + (Ri + Rj) (Cj + Ck)] si = 0.69 [Ri (Ci + Cj + Ck)] ELEC 7770: Advanced VLSI Design (Agrawal)
Example i 1Ω 1Ω 1Ω j k CK 1pF 1pF 1pF si = 0.69 × 3 ps sj = 0.69 × 5 ps sk = 0.69 × 6 ps ELEC 7770: Advanced VLSI Design (Agrawal)
Finding δ(I,j) and Δ(I,j) Minimum delay Maximum delay , - , - A 1 , - 9, 10 H 3 j , - 0, 0 3, 3 B 3 4, 4 i E 1 G 2 6, 7 , - , - C 1 , - 6, 8 J 1 F 1 k , - , - 5, 5 D 2 , - ELEC 7770: Advanced VLSI Design (Agrawal)
Maximum Clock Frequency for Tolerance ±q/2 in Skew Linear program: Minimize Tck Subject to: For all flip-flop pairs (i,j), si + δ(i,j) ≥ sj + Thj + q si + Δ(i,j) ≤ sj + Tck – Tsj – q Where q is a constant si are variables, simin ≤ si Tck is a variable ELEC 7770: Advanced VLSI Design (Agrawal)
Maximum Tolerance for Given Clock Frequency Linear program: Maximize q Subject to: For all flip-flop pairs (i,j), si + δ(i,j) ≥ sj + Thj + q si + Δ(i,j) ≤ sj + Tck – Tsj – q Where Tck is a constant si are variables, simin ≤ si q is a variable ELEC 7770: Advanced VLSI Design (Agrawal)
Tradeoffs No solution because of zero slack. Increasing skew tolerance q Increasing clock period Tck ELEC 7770: Advanced VLSI Design (Agrawal)
Clock Skew Problem • N. Maheshwari and S. S. Sapatnekar, Timing Analysis and Optimization of Sequential Circuits, Springer, 1999. • J. P. Fishburn, “Clock Skew Optimization,” IEEE Trans. Computers, vol. 39, no. 7, pp. 945-951, July 1990. ELEC 7770: Advanced VLSI Design (Agrawal)