Measurement of inherent noise in eda tools
Download
1 / 28

Measurement of Inherent Noise in EDA Tools - PowerPoint PPT Presentation


  • 103 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Measurement of Inherent Noise in EDA Tools' - neka


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