Download presentation
Presentation is loading. Please wait.
1
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
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
3
Previous Works Hartoog (DAC’86) Hartoog (DAC’86) –reorder cells/nets isomorphic circuits –algorithm comparison Harlow/Brglez (ICCAD’98) Harlow/Brglez (ICCAD’98) –randomize name and node order Ghosh (Dissertation’00) Ghosh (Dissertation’00) –circuit mutation isomorphic class Bodapati/Najm (SLIP’00) Bodapati/Najm (SLIP’00) –noise effect on pre-layout estimation
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
5
Tool Behavior Criteria Monotonicity Monotonicity –monotone solutions w.r.t. inputs Parameter Quality Parameter Quality
6
Tool Behavior Criteria Monotonicity Monotonicity Smoothness Smoothness –“similar” solutions after perturbation Solution space
7
Tool Behavior Criteria Monotonicity Monotonicity Smoothness Smoothness Scaling Scaling –preserve quality with scaled input 0.25 0.18
8
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
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
10
Randomness Random number generator (RNG) Random number generator (RNG) –initial solution for heuristic –tie breaker Seed Pseudorandom Number 13424581992612… 21271356611389… 6141250841365… ………………
11
Ordering and Naming Instance ordering Instance ordering –C1,C2,C3,… C17,C224,C5,… Instance naming Instance naming –AFDX|CTRL|AX239 CELL00134 –AFDX|CTRL|AX239 ID012|ID119|ID416
12
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
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
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
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
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
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
18
Random Seeds 200 runs with different random seeds 200 runs with different random seeds –0.05% improvement -0.05%
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
20
Random Naming (contd.) Wide range of variations (±3%) Wide range of variations (±3%) Hierarchy matters Hierarchy matters % Quality Difference Number of Runs
21
Random Hierarchy Swap hierarchy Swap hierarchy –AA|BB|C03 XX|YY|C03 –XX|YY|Z12 AA|BB|Z12 % Quality Difference Number of Runs
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
23
Noise Additive Property Noise 1 + Noise 2 = (Noise 1 & Noise 2 ) Noise 1 + Noise 2 = (Noise 1 & Noise 2 ) 1.260.981.06-1.33-0.37 0.861.381.07-0.690.16-1.92 0.83-0.81-0.46-0.180.57-0.85 0.42-0.201.220.34-1.14-0.57 2.902.401.031.810.840.83-0.723.560.52-0.29-1.59CrNr ?
24
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
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
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
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
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.