180 likes | 367 Views
ELEC 7770 Advanced VLSI Design Spring 2007 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_Spr07.
E N D
ELEC 7770Advanced VLSI DesignSpring 2007A 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_Spr07 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 QN delays 1 Q 0 1 CK = 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 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 Combinational path FF i FF j δ(i,j) ≤ d(i,j) ≤ Δ(i,j) Note: All times for a FF should be adjusted by its clock skew. Tsi Thi Tsj time Tqi Tck Clock edge Constraint: Tqi + Δ(i,j) ≤ Tck – Tsj i.e., Δ(i,j) ≤ Tck – Tsj – Tqi This is known as long path constraint. ELEC 7770: Advanced VLSI Design (Agrawal)
Hold Time Constraint Combinational path FF i FF j δ(i,j) ≤ d(i,j) ≤ Δ(i,j) Note: All times for a FF should be adjusted by its clock skew. Thj Tsi Thi Tsj time Tqi Tck Clock edge Constraint: Tqi + δ(i,j) ≥ Thj i.e., δ(i,j) ≥ Thj – Tqi This is known as short path constraint. 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: • Earliest arrival time at node i = ai • Longest arrival time at node i = Ai • Buffer delays on external edge (i,j) = wij • Constants: • At PI i: Ai = Λi and ai = λi, user specified. • At PI (FF) i: Ai = ai = Tqi 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)