Measurement of inherent noise in eda tools
This presentation is the property of its rightful owner.
Sponsored Links
1 / 28

Measurement of Inherent Noise in EDA Tools PowerPoint PPT Presentation


  • 79 Views
  • Uploaded on
  • Presentation posted in: General

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. Introduction. Complexity , design cycle time  Tool predictability predict final solution before running the tool

Download Presentation

Measurement of Inherent Noise in EDA Tools

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Measurement of inherent noise in eda tools

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


Introduction

Introduction

  • Complexity , design cycle time 

  • Tool predictability

    • predict final solution before running the tool

    • requires understanding of tool behavior

  • Heuristic nature of tool

    • leads to noise: variability in solution quality

  • Understand how tool behaves in the presence of noise


Previous works

Previous Works

  • Hartoog (DAC’86)

    • reorder cells/nets  isomorphic circuits

    • algorithm comparison

  • Harlow/Brglez (ICCAD’98)

    • randomize name and node order

  • Ghosh (Dissertation’00)

    • circuit mutation  isomorphic class

  • Bodapati/Najm (SLIP’00)

    • noise effect on pre-layout estimation


Outline

Outline

  • Tool behavior criteria

  • Taxonomy of potential perturbation

  • Examples on noise effects

  • Exploitation of tool noise

  • Conclusions and ongoing works


Tool behavior criteria

Quality

Quality

Parameter

Parameter

Tool Behavior Criteria

  • Monotonicity

    • monotone solutions w.r.t. inputs


Tool behavior criteria1

Tool Behavior Criteria

  • Monotonicity

  • Smoothness

    • “similar” solutions after  perturbation

Solution space


Tool behavior criteria2

Tool Behavior Criteria

  • Monotonicity

  • Smoothness

  • Scaling

    • preserve quality with scaled input

0.18

0.25


Outline1

Outline

  • Tool behavior criteria

  • Taxonomy of potential perturbation

  • Examples on noise effects

  • Exploitation of tool noise

  • Conclusions and ongoing works


Perturbation taxonomy

Perturbation Taxonomy

  • Randomness

  • Ordering and naming

  • Coarseness and richness of library

  • Constraints

  • Geometric properties


Randomness

Randomness

  • Random number generator (RNG)

    • initial solution for heuristic

    • tie breaker


Ordering and naming

Ordering and Naming

  • Instance ordering

    • C1,C2,C3,…  C17,C224,C5,…

  • Instance naming

    • AFDX|CTRL|AX239  CELL00134

    • AFDX|CTRL|AX239  ID012|ID119|ID416


Library coarseness richness

Input Slew

Load

1x7

Load

7x7

Library Coarseness & Richness

  • Cell library

    • number of variations for cell types (e.g., INV1x, INV2x, INV4x, INV8x, etc.)

  • Timing library

    • timing model (look-up tables, linear interpolation, etc.)


Constraints

Constraints

  • Design rules

    • spacing, width, size, etc.

  • Design constraints

    • timing constraints

    • grouping constraints

    • area constraints

  • Perturbation

    • tightening or relaxing the constraints


Geometric properties

Geometric Properties

  • Offsets

    • cell sites, cell rows, routing tracks, power stripes, global cell grids, etc.

  • Orientations

    • pin orientations, site orientations, routing directions, etc.

  • Instance scaling

    • cell sizes, routing pitches, layout size, etc.

  • Artificial blockages


Outline2

Outline

  • Tool behavior criteria

  • Taxonomy of potential perturbation

  • Examples on noise effects

  • Exploitation of tool noise

  • Conclusions and ongoing works


Examples of noise effects

Examples of Noise Effects

  • Monotonicity test

  • Random seeds

  • Random ordering and naming

  • Random hierarchy

  • Cadence Place & Route

  • 13 industry designs


Monotonicity test

Monotonicity Test

  • OptimizationLevel: 1(fast/worst) … 10(slow/best)


Random seeds

Random Seeds

  • 200 runs with different random seeds

    • 0.05% improvement

-0.05%


Random ordering naming

Random Ordering & Naming

  • Data sorting  no effect on reordering

  • 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


Random naming contd

Random Naming (contd.)

  • Wide range of variations (±3%)

  • Hierarchy matters

Number of Runs

% Quality Difference


Random hierarchy

Random Hierarchy

  • Swap hierarchy

    • AA|BB|C03  XX|YY|C03

    • XX|YY|Z12  AA|BB|Z12

Number of Runs

% Quality Difference


Outline3

Outline

  • Tool behavior criteria

  • Taxonomy of potential perturbation

  • Examples on noise effects

  • Exploitation of tool noise

  • Conclusions and ongoing works


Noise additive property

Cr

Nr

-1.59

-0.29

0.52

3.56

-0.72

0.83

0.84

1.81

1.03

2.40

2.90

-0.57

-1.14

0.34

1.22

-0.20

0.42

-0.85

0.57

-0.18

-0.46

-0.81

0.83

-1.92

0.16

-0.69

1.07

1.38

0.86

-0.37

-1.33

-1.00

1.06

0.98

1.26

Noise Additive Property

?

  • Noise1 + Noise2 = (Noise1 & Noise2)


Noise exploitation

Noise Exploitation

  • CPU Budget = 1 run

    • noise with best mean

  • CPU Budget = 5 runs

    • noise with min average soln. over 5 runs

  • For each noise

    • randomly select k solutions

    • record the best-k

    • repeat 1000 times and get average


Noise exploitation contd

Noise Exploitation (Contd.)

  • Noise that preserves hierarchy almost always yields superior results

  • CPU budget = 1 run  use MC


Outline4

Outline

  • Tool behavior criteria

  • Taxonomy of potential perturbation

  • Examples on noise effects

  • Exploitation of tool noise

  • Conclusions and ongoing works


Conclusions

Conclusions

  • EDA tools behavior criteria w.r.t. noise

  • Initial taxonomy of noise sources

  • Effects of noises on P&R solutions

  • Non-additive noise property


Ongoing works

Ongoing Works

  • Prediction model that includes noises

  • Relationships between different noises

  • Noise impact on timing-driven solution

  • Relationship between perturbation size and changes in solution quality

  • Composition of noises between consecutive tools in the design flow


  • Login