Measurement of Inherent Noise in EDA Tools Andrew B. Kahng* and Stefanus Mantik * UCSD CSE and ECE Departments, La Jolla, CA UCLA CS Department, Los Angeles, CA
Slide 2
Introduction Complexity , design cycle time Complexity , design cycle time Tool predictability Tool predictability predict final solution before running the tool requires understanding of tool behavior Heuristic nature of tool Heuristic nature of tool leads to noise: variability in solution quality Understand how tool behaves in the presence of noise Understand how tool behaves in the presence of noise
Slide 3
Previous Works Hartoog (DAC86) Hartoog (DAC86) reorder cells/nets isomorphic circuits algorithm comparison Harlow/Brglez (ICCAD98) Harlow/Brglez (ICCAD98) randomize name and node order Ghosh (Dissertation00) Ghosh (Dissertation00) circuit mutation isomorphic class Bodapati/Najm (SLIP00) Bodapati/Najm (SLIP00) noise effect on pre-layout estimation
Slide 4
Outline Tool behavior criteria Tool behavior criteria Taxonomy of potential perturbation Taxonomy of potential perturbation Examples on noise effects Examples on noise effects Exploitation of tool noise Exploitation of tool noise Conclusions and ongoing works Conclusions and ongoing works
Outline Tool behavior criteria Tool behavior criteria Taxonomy of potential perturbation Taxonomy of potential perturbation Examples on noise effects Examples on noise effects Exploitation of tool noise Exploitation of tool noise Conclusions and ongoing works Conclusions and ongoing works
Slide 9
Perturbation Taxonomy Randomness Randomness Ordering and naming Ordering and naming Coarseness and richness of library Coarseness and richness of library Constraints Constraints Geometric properties Geometric properties
Slide 10
Randomness Random number generator (RNG) Random number generator (RNG) initial solution for heuristic tie breaker Seed Pseudorandom Number 13424581992612 21271356611389 6141250841365
Library Coarseness & Richness Cell library Cell library number of variations for cell types (e.g., INV1x, INV2x, INV4x, INV8x, etc.) Timing library Timing library timing model (look-up tables, linear interpolation, etc.) Input Slew Load 7x7 Load 1x7
Slide 13
Constraints Design rules Design rules spacing, width, size, etc. Design constraints Design constraints timing constraints grouping constraints area constraints Perturbation Perturbation tightening or relaxing the constraints
Slide 14
Geometric Properties Offsets Offsets cell sites, cell rows, routing tracks, power stripes, global cell grids, etc. Orientations Orientations pin orientations, site orientations, routing directions, etc. Instance scaling Instance scaling cell sizes, routing pitches, layout size, etc. Artificial blockages Artificial blockages
Slide 15
Outline Tool behavior criteria Tool behavior criteria Taxonomy of potential perturbation Taxonomy of potential perturbation Examples on noise effects Examples on noise effects Exploitation of tool noise Exploitation of tool noise Conclusions and ongoing works Conclusions and ongoing works
Slide 16
Examples of Noise Effects Monotonicity test Monotonicity test Random seeds Random seeds Random ordering and naming Random ordering and naming Random hierarchy Random hierarchy Cadence Place & Route Cadence Place & Route 13 industry designs 13 industry designs
Slide 17
Monotonicity Test OptimizationLevel: 1(fast/worst) 10(slow/best) OptimizationLevel: 1(fast/worst) 10(slow/best) Opt Level 123456789 QP WL 2.500.97-0.20-0.111.430.581.290.641.70 QP CPU -59.7-51.6-40.4-39.3-31.5-31.3-17.3-11.9-6.73 WR WL 2.951.52-0.290.071.590.920.890.941.52 Total CPU 4.19-6.77-16.2-15.2-7.23-10.6-6.99-3.75-0.51
Slide 18
Random Seeds 200 runs with different random seeds 200 runs with different random seeds 0.05% improvement -0.05%
Slide 19
Random Ordering & Naming Data sorting no effect on reordering Data sorting no effect on reordering Five naming perturbation Five naming perturbation random cell names without hierarchy (CR) E.g., AFDX|CTRL|AX239 CELL00134 random net names without hierarchy (NR) random cell names with hierarchy (CH) E.g., AFDX|CTRL|AX129 ID012|ID79|ID216 random net names with hierarchy (NH) random master cell names (MC) E.g., NAND3X4 MCELL0123
Slide 20
Random Naming (contd.) Wide range of variations (3%) Wide range of variations (3%) Hierarchy matters Hierarchy matters % Quality Difference Number of Runs
Slide 21
Random Hierarchy Swap hierarchy Swap hierarchy AA|BB|C03 XX|YY|C03 XX|YY|Z12 AA|BB|Z12 % Quality Difference Number of Runs
Slide 22
Outline Tool behavior criteria Tool behavior criteria Taxonomy of potential perturbation Taxonomy of potential perturbation Examples on noise effects Examples on noise effects Exploitation of tool noise Exploitation of tool noise Conclusions and ongoing works Conclusions and ongoing works
Noise Exploitation CPU Budget = 1 run CPU Budget = 1 run noise with best mean CPU Budget = 5 runs CPU Budget = 5 runs noise with min average soln. over 5 runs For each noise For each noise randomly select k solutions record the best-k repeat 1000 times and get average
Slide 25
Noise Exploitation (Contd.) Noise that preserves hierarchy almost always yields superior results Noise that preserves hierarchy almost always yields superior results CPU budget = 1 run use MC CPU budget = 1 run use MC kCRCHNRNHMC 132451 231542 3-441532 5-2151432 22-3041532
Slide 26
Outline Tool behavior criteria Tool behavior criteria Taxonomy of potential perturbation Taxonomy of potential perturbation Examples on noise effects Examples on noise effects Exploitation of tool noise Exploitation of tool noise Conclusions and ongoing works Conclusions and ongoing works
Slide 27
Conclusions EDA tools behavior criteria w.r.t. noise EDA tools behavior criteria w.r.t. noise Initial taxonomy of noise sources Initial taxonomy of noise sources Effects of noises on P&R solutions Effects of noises on P&R solutions Non-additive noise property Non-additive noise property
Slide 28
Ongoing Works Prediction model that includes noises Prediction model that includes noises Relationships between different noises Relationships between different noises Noise impact on timing-driven solution Noise impact on timing-driven solution Relationship between perturbation size and changes in solution quality Relationship between perturbation size and changes in solution quality Composition of noises between consecutive tools in the design flow Composition of noises between consecutive tools in the design flow