230 likes | 348 Views
ELEC 7770 Advanced VLSI Design Spring 2014 A Linear Programming Solution to Clock Constraint 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_Spr14/course.html.
E N D
ELEC 7770Advanced VLSI DesignSpring 2014A Linear Programming Solution to Clock Constraint 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_Spr14/course.html ELEC 7770: Advanced VLSI Design (Agrawal)
A General Sequential Circuit Inputs Outputs Combinational Logic Registers Clock ELEC 7770: Advanced VLSI Design (Agrawal)
A Level-Sensitive Latch D QN Q CK Clock period, Tck CK Latch open Latch closed Latch open time ELEC 7770: Advanced VLSI Design (Agrawal)
Alternative Implementation Q D CK J. Segura and C. F. Hawkins, CMOS Electronics, How It Works, How It Fails, Wiley Interscience, 2004, p.137. ELEC 7770: Advanced VLSI Design (Agrawal)
Data Must be Stable Before Latch Closes 0→1→0→0→ 0 1→0→1→0→1→ D = 0 → 1 → 1 1 QN delays 1 Q 0 1 CK = 1 → 1 → 0 0→0→1→0→1→ 1→1→0→0→ Unstable state Clock period, Tck CK Latch open Latch closed time Stable data ELEC 7770: Advanced VLSI Design (Agrawal)
Data and Clock Parameters Clock period, Tck CK Latch open Latch closed time Stable data D time Hold time Setup time Q Stable Q time CK-to-Q delay ELEC 7770: Advanced VLSI Design (Agrawal)
Design With Level-Sensitive Latches PI PI Comb. Logic Comb. Logic Level-sens. Latches Level-sens. Latches PO PO CK ELEC 7770: Advanced VLSI Design (Agrawal)
Edge-Triggered Flip-flop Master latch Slave latch D Q QN CK Hold time Clock period, Tck CK Master open Slave open time Trigger edges Setup time CK-to-Q delay ELEC 7770: Advanced VLSI Design (Agrawal)
A Dynamic Implementation VDD CK CK D Q CK CK GND J. P. Uyemura, Chip Design for Submicron VLSI: CMOS Layout and Simulation, Thomsom, 2006, p. 229. ELEC 7770: Advanced VLSI Design (Agrawal)
A Static Implementation VDD Q CK CK D CK CK GND J. P. Uyemura, Chip Design for Submicron VLSI: CMOS Layout and Simulation, Thomsom, 2006, p. 230. ELEC 7770: Advanced VLSI Design (Agrawal)
Design With Edge-Triggered Flip-Flops Inputs Outputs Combinational Logic Flip-flops Clock ELEC 7770: Advanced VLSI Design (Agrawal)
Setup Time Constraint Skew si Skew sj Combinational path delay Arrive no later than this FF i FF j δ(i,j) ≤ d(i,j) ≤ Δ(i,j) Note: All times for a FF should be adjusted by its clock skew. Travel time Tsi Thi Tsj time Tc.Qi Tck Clock edge Constraint: si + Tc.Qi + Δ(i,j) ≤ sj + Tck – Tsj i.e., Δ(i,j) ≤ Tck – Tsj – Tc-Qi + sj – si This is known as long path constraint – prevents zero clocking ELEC 7770: Advanced VLSI Design (Agrawal)
Hold Time Constraint Combinational path delay Skew si Skew sj FF i FF j δ(i,j) ≤ d(i,j) ≤ Δ(i,j) Note: All times for a FF should be adjusted by its clock skew. sj – si + Thj Tsi Thi Tsj time Tc.Qi Tck Clock edge (si) Constraint: si + Tc.Qi + δ(i,j) ≥ sj + Thj i.e., δ(i,j) ≥ Thj – Tc.Qi + sj – si This is known as short path constraint – avoids double clocking ELEC 7770: Advanced VLSI Design (Agrawal)
Solving Hold Time Problem (1) PO (FFj) PI (FFi) PO PI PO (FFi) PI (FFj) Fanout node Internal edges (fixed delays) External edges (variable delays) ELEC 7770: Advanced VLSI Design (Agrawal)
Solving Hold Time Problem (2) • Variables: • Shortest arrival time at node i = ai • Longest arrival time at node i = Ai • Buffer delay on external edge (i,j) = wij • Constants: • At PI i: Ai = Λiand ai = λi, user specified. • At PI (FF) i: Ai = ai = Tc.Qi ELEC 7770: Advanced VLSI Design (Agrawal)
Solving Hold Time Problem (3) • Constraints: • At PO i: Ai ≤ Ri and ai ≥ ri, user defined. • At PO (FF) i: • ai ≥ Thi, short path constraint. • Ai ≤ Tck – Tsi, long path constraint. • Optimization function (a linear approximation to minimum number of delay buffers): minimize ∑ wij all external edges (i,j) ELEC 7770: Advanced VLSI Design (Agrawal)
Linear Programming Solution (1) minimize ∑ wij all external edges (i,j) Subject to: Aj ≥ Ai + wij for all i ε Fanin(j) aj ≤ ai + wij for all i ε Fanin(j) Ai ≤ Ri for all i ε PO ai ≥ ri for all i ε PO Ai ≤ Tck – Tsi for all i ε PO(FF i) ai ≥ Thi for all i ε PO(FF i) Ai = Λi for all i ε PI ai = λi for all i ε PI Ai = Tqi for all i ε PI(FF i) ai = Tqi for all i ε PI(FF i) ELEC 7770: Advanced VLSI Design (Agrawal)
Linear Programming Solution (2) • Solution inserts smallest delays in interconnects to satisfy short path constraints. • Maintains the specified clock period and satisfies setup time constraints. Reference: N. Maheshwari and S. S. Sapatnekar, Timing Analysis and Optimization of Sequential Circuits, Springer, 1999. ELEC 7770: Advanced VLSI Design (Agrawal)
Shift Register Example 1 (Long Path) F1 F2 F3 Δ Δ CK s1 s2 s3 Δ ≤ Delay Δ ≤ Delay Zero skew su ho su ho su ho t Ck-2-Q Ck-2-Q Ck-2-Q 0 2T T Δ ≤ Delay Δ ≤ Delay su ho su ho su ho t Ck-2-Q Ck-2-Q Ck-2-Q s1 s3 0 T s2 2T ELEC 7770: Advanced VLSI Design (Agrawal)
Shift Register Example 1 (Short Path) F1 F2 F3 δ δ CK s1 s2 s3 Zero skew F1 su ho su ho su ho t Ck-2-Q Ck-2-Q Ck-2-Q 0 2T T δ≥ Delay su ho su ho su ho t Ck-2-Q Ck-2-Q Ck-2-Q Zero skew F2 0 2T T ELEC 7770: Advanced VLSI Design (Agrawal)
Shift Register Example 1 (Short Path) F1 F2 F3 δ δ CK s1 s2 s3 F1 su ho su ho su ho t Ck-2-Q Ck-2-Q Ck-2-Q s1 2T 0 T δ≥ Delay F2 su ho su ho 2T su ho T t Ck-2-Q Ck-2-Q Ck-2-Q s2 0 nonzero skew F2 ELEC 7770: Advanced VLSI Design (Agrawal)
Shift Register Example 2 (Short Path) F1 F2 F3 δ δ CK s1 s2 s3 F1 su ho su ho 2T su ho T t F2 su ho su ho su ho t Ck-2-Q Ck-2-Q Ck-2-Q s1 0 Ck-2-Q Ck-2-Q Ck-2-Q s2 2T 0 T δ ≥ Delay ELEC 7770: Advanced VLSI Design (Agrawal)
Shift Register Example 2 (Long Path) F1 F2 F3 Δ Δ CK s1 s2 s3 Δ ≤ Delay Δ ≤ Delay Zero skew su ho su ho su ho t Ck-2-Q Ck-2-Q Ck-2-Q 0 2T T Δ ≤ Delay Δ ≤ Delay su ho su ho su ho t Ck-2-Q Ck-2-Q Ck-2-Q s1 s3 0 T s2 2T ELEC 7770: Advanced VLSI Design (Agrawal)