Presentation is loading. Please wait.

Presentation is loading. Please wait.

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,

Similar presentations


Presentation on theme: "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,"— Presentation transcript:

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


Download ppt "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,"

Similar presentations


Ads by Google