EE 5900 Advanced Algorithms for Robust VLSI CAD, Spring 2009 Static Timing Analysis and Gate Sizing Delay Evaluation 1. Gate delay 2. Interconnect delay 2017/7/28 Circuit Delay PJF- 2 1. Problem Description Given a pair of pins, compute pin-to-pin delay and possibly output waveform Delay Cell Interconnect Cell … Cell 2017/7/28 Circuit Delay PJF- 3 Circuit Model For an inverter 2017/7/28 Circuit Delay … Csink … Csink PJF- 4 Sink Capacitance Gate capacitance, input capacitance Given for standard cells Can be found using SPICE Apply an AC voltage and measure current Average over a range of frequency 2017/7/28 Circuit Delay I PJF- 5 Capacitance Model RC Rd 2017/7/28 Rd Circuit Delay Ctotal PJF- 6 Interconnect Delay: Elmore Delay Elmore is used as the delay on interconnect Easy to compute 2017/7/28 Circuit Delay PJF- 7 Example 1 1 1 1 2 1 1 3 1 4 1 1 m1_1= –4, m1_2= –7, m1_3= –8, m1_4= –8 2017/7/28 Circuit Delay PJF- 8 Application of Elmore Delay Good Closed form expression, easy to compute Useful in circuit design such as gate sizing and buffering. Bad Inaccurate Not useful for timing verification 2017/7/28 Circuit Delay PJF- 9 Circuit Delay Evaluation - Two Components Cell delay + interconnect delay Cell delay is computed using RC or Kfactor Interconnect delay is computed using Elmore delay Cell 2017/7/28 Interconnect Circuit Delay Cell PJF- 10 Static vs. Dynamic Timing Analysis Static timing analysis Fast Consider all paths Pessimism by considering false paths which are never exercised Dynamic timing analysis ( simulation ) Depends on input stimulus vectors Do not report timing on false paths With large number of testing vectors 2017/7/28 Circuit Delay Accurate Slow PJF- 11 Wire and Gate Models l B h r0 l h c( h )l 2 rB c( h )l 2 CB 12 Step by Step Model combinational circuit using the previous slide Starting from primary input gates, compute the arrival time (AT) at each gate, i.e., compute gate delay and interconnect delay In order to compute the AT at a gate, the ATs of all its input gates need to be computed Repeat the above process until the ATs at all primary output gates are computed 2017/7/28 Circuit Delay PJF- 13 Example of Static Timing Analysis C=1,R=1 C=5,R=2 10 1 AT=0 AT=121 C=4,R=2 C=10,R=5 5 3 AT=22 2 AT=167 AT=31 C=5,R=2 AT=145 2 AT=21 2 AT=0 4 AT=75 12 AT=267 2 AT=12 AT=31 Take the Max AT=267 unit wire resistance=1 unit wire capacitance=1 Arrival time (AT): input -> output, take max 2017/7/28 Circuit Delay PJF- 14 Timing Optimization C=1,R=1 C=5,R=2 10 AT=121 AT=0 AT=145 2 AT=21 C=4,R=2 2 AT=167 AT=31 C=5,R=2 AT=22 AT=75 12 C=10,R=5 Should we size up this gate to improve timing? AT=267 2 AT=0 AT=12 AT=31 Take the Max AT=267 unit wire resistance=1 unit wire capacitance=1 Arrival time (AT): input -> output, take max 2017/7/28 Circuit Delay PJF- 15 Timing Optimization- II Suppose that we have a gate (with same gate type) doubling its width. We roughly have C=10, R=1. If we change the gate with this new one, what is the new delay? Does not change C=1,R=1 C=5,R=2 10 AT=121 AT=0 AT=145 2 AT=21 C=4,R=2 2 AT=167 AT=31 C=10,R=1 AT=16 AT=75 12 C=10,R=5 AT=267 2 AT=0 AT=6 AT=31 2017/7/28 Take the Max unit wire resistance=1 unit wire capacitance=1 AT=267 Circuit Delay PJF- 16 Timing Optimization- III Suppose that we have a gate (with same gate type) doubling its width. We roughly have C=8, R=1. If we change the gate with this new one, what is the new delay? C=1,R=1 C=5,R=2 10 AT=125 AT=0 AT=149 2 AT=25 C=8,R=1 2 AT=171 AT=43 C=5,R=2 AT=38 AT=65 12 C=10,R=5 AT=257 2 AT=0 AT=20 AT=43 Take the Max unit wire resistance=1 unit wire capacitance=1 2017/7/28 AT=257 Circuit Delay PJF- 17 Timing Optimization- IV This optimization is called gate sizing. Change the gate size (width) in optimization. 1. Given multiple choices (implementations) per gate type, find a gate implementation at each gate such that the circuit timing is minimized. 2. Given multiple choices per gate type, find a gate implementation at each gate such that the circuit timing satisfies the target and the total gate area/power is minimized 2017/7/28 Circuit Delay PJF- 18 Problem Definition of Gate Sizing Given a timing (delay) target, use smallest power/area gates to meet the timing target In general, smaller power -> larger timing, smaller timing -> larger power. 19 Delay due to Gate Sizing Suppose that unit width gate capacitance is c and unit width gate resistance is r. Given gate size wi, Gate size wi: R r/wi, C cwi Delay is a function of RC Delay RiCj wi/wj 20 Wire and Gate Models l B h r0 l h c( h )l 2 rB c( h )l 2 CB 21 Combinatorial Circuit Model Gate size variables x1, x2, x3 Delay on each gate depends on x a1 Drivers D1 x1 a3 D4 a6 D6 D7 a2 D2 a4 D3 D5 D8 x2 22 D9 x3 a5 a7 D10 Loads Path Delay Express path delay in terms of component delay A component can be a gate or a wire Delay D for each component Arrival time a for some components 23 a1 D1 D4 a3 a2 D2 D4 a3 a2 D3 D5 a4 a3 D6 a6 a3 D7 D9 a5 a4 D8 D9 a5 a5 D10 a7 Gate Sizing Power/area minimization under delay constraints: Minimize n i 1 i xi Subject to a j Amax j primary output, Amax is the timing target a j Di ai i and j input (i ) Li xi U i i smallest and largest size on each gate This can be solved efficiently using gpsolve 24 Gate Sizing using GPSOLVE Follow the steps in gatesizing.m 25
© Copyright 2026 Paperzz