On Critical Path Selection Based Upon Statistical Timing Models -- Theory and Practice Jing-Jia Liou, Angela Krstic, Li-C. Wang, and Kwang-Ting Cheng University of California - Santa Barbara
Problem Find a small set of paths for explicit testing Because we can t afford testing of all paths Important for Optimization Timing validation Speed test and binning Delay defect diagnosis
Why Path Selection Again? Traditional definition of a critical path A timing long path Defined under worst-case or nominal delay models Delays are discrete values In the DSM domain, the problem is different DSM process variation and defect effects can better be captured with statistical timings What if we change the delays with the statistical timing models?
Consider This Example a 15/1 e Most critical? b 13/2 10/1 g c 14/2 9/3 d 12/3 f Most critical? The most critical path can be different based upon which delay model you have in mind!
Statistical Simulation a b c 15/1 e 13/2 14/2 10/1 9/3 g P1: a, e, g P2: b, e, g P3: c, f, g P4: d, f, g d 12/3 f Suppose 10000 chip instances are produced: P1 P2 P3 P4 43.6% 19.1% 23.6% 13.7%
In the DSM Domain The most critical path in different chip instances can be different Statistical simulation can captures that variation But, How can we re-define the concept of a critical path?
Statistical Definition of Being Critical Critical Prob. Critical Not critical How critical a path is can be defined as the probability of exceeding the clock period T
Statistical Timing Analysis Framework Cell/interconnect delays (random variables) Cell-based netlist (Static analyzer) False-path-aware statistical timing analysis framework (DAC 2002) 1. True circuit delay distributions 2. A set of sensitizable, timing true and critical paths
1. Path Filtering & 2. Path Selection Logic and timing false paths or Non-critical paths U S: tested Suppose we have U, a set of critical and true paths which are ranked by their critical probabilities (p 1 >p 2 >p 3 > >p n ) How to select k paths as the critical paths? The critical path set S = {p 1,,p k } for a given k?
Critical Path Set In traditional delay test A critical path set contains the k longest paths Where k is the affordable # of tests Under the statistical models Pick a clock period T Select those k paths with the largest critical probabilities Does that really give us a good path set? This paper says No! And explains why
Consider This Example overlap B A C 24/3 25/3 22/2 After A is selected, should we select B or C?
Change of A distribution Path Correlation clk Return by testing A clk It is unclear whether B or C is a better choice after A Return by testing B Need to calculate the correlation pdf for B given that A is tested
Not Forget Another Important Thing Topological Coverage Captured Not captured
Problem Formulation (ICCAD02) Maximizing P capture = P obj1 * P obj2 Prob. that defects fall on the selected paths (locations and sizes are independent Prob. that defects can be random variables) detected by testing those paths Maximizing individual objective is NP-hard Approximate the optimal solution is NP-hard A heuristic maximizing one may not maximizing the other
Find A Well-Studied Problem Given an edge-weighted graph G and a number k Find a set of k vertices to cover the maximum weights Max-Weight-Vertex-Cover (MWVC) Problem Finding (1-ε)-approximation is NP-hard This is also true if G is a hypergraph (M-C) MWVC Log-Reduction Max-Coverage Log-Reduction Maximizing P obj1
Maximizing P obj2 Maximizing P obj2 is similar But it is harder because the weights corresponds to prob. Correlations Need a different analysis (ICCAD 02)
Main Results (ICCAD 02) Identify the best known heuristic to maximize P obj1 Identify the best known heuristic to maximize P obj2 Can we identify a unique answer for both problems? (P capture = P obj1 * P obj2 ) Answer with proof: The best heuristic to maximize P obj2 is also a good heuristic to maximize P obj1 (implicitly can maximize P obj1 as well ICCAD 02)
Path Selection Heuristics H-timing: Select the most critical k paths H-segment: best heuristic to maximize P obj1 first H-Opt: maximizing P obj2 1. Select the most critical un-selected path 2. Find all paths correlated to the path 3. Update their critical probabilities according to the path correlations For comparison, we also consider Traditional Select the most critical k paths Use 3σ bound worst-case delays
Statistical Evaluation of S (ASP-DAC 03) A chip instance (w/ defect injected) Is any path in S exceeding clk? no Is any path in U - S exceeding clk? yes yes Covered NotCovered Missing P = NotCovered Covered + NotCovered
Traditional Vs. H-Opt No defect injection Simulate process variation Small Defect (single size) Large Defect (single size)
Missing Prob. P 70 60 50 40 30 20 10 0 Defect Free Traditional H-Opt 5 10 20 30 40 # of Selected Paths
Small Size Defect 90 80 70 Traditional H-Opt Missing Prob. P 60 50 40 30 20 10 0 5 10 20 30 40 50 60 70 80 # of Selected Paths
Missing Prob. P 90 80 70 60 50 40 30 20 10 0 Large Size Defect Traditional H-Opt 5 10 20 30 40 50 60 70 80 # of Selected Paths
Comparison of The Three Heuristics Small Defects: exponential distribution between 0 and 40 units Larger Defects: exponential distribution between 0 and 100 units
Small Defects (Statistical Simulation I) 0.9 0.8 0.7 Miss Prob. 0.6 0.5 0.4 0.3 0.2 0.1 0 5 10 20 30 40 50 60 70 80 90 100 150 200 250 # of Paths Selected H-Timing H-Segment H-Opt
Small Defects (Statistical Simulation II) 0.9 0.8 0.7 Miss Prob. 0.6 0.5 0.4 0.3 0.2 0.1 0 5 10 20 30 40 50 60 70 80 90 100 150 200 250 # of Paths Selected H-Timing H-Segment H-Opt
Larger Defects (Statistical Simulation I) 0.9 0.8 0.7 0.6 Miss Prob. 0.5 0.4 0.3 0.2 0.1 0 5 10 20 30 40 50 60 70 80 90 100 150 200 250 Defect Size H-Timing H-Segment H-Opt
Larger Defects (Statistical Simulation II) Miss Prob. 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 5 10 20 30 40 50 60 70 80 90 # of Paths Selected H-Timing H-Segment H-Opt 100 150 200 250
More Results (Traditional Vs. H-Opt) Results of selecting 10 critical paths: Circuit U Size Traditional H-Opt Memory Time S5378 1238 48.5% 12.9% 6.8M 3M 11.8 0.29 S9234 842 0.0 0.0% 5.4M 4M 8.8 1.37 S15850 1728 4.3% 0.0% 11M 6M 96.9 5.23 S35932 4702 26.6% 0.0% 39.5M 20M 207 11.7 S38417 3972 80.9% 47.4% 50M 24M 181 6.95 s38584 136 0.0% 0.0% 41M 12M 102 0.26 Statistical path analysis (Path filtering step) Quality evaluation
Conclusion Considering statistical timing is better than using traditional delay models Considering path correlation is crucial for critical path selection in the statistical domain Our path selection consists of 2 phases: Path filtering (DAC 2002) Critical path selection (ICCAD 02, ASP-DAC 03) Experimental results confirms our theoretical analysis H-Opt is the most feasible heuristic for path selection in the statistical domain