aquasun - glsvlsi '02april 19, 2002 --1-- aquasun: an adaptable 2d range index for cad...

12
AQUASUN - GLSVLSI '02 April 19, 2002 --1-- AQUASUN: an adaptable 2D range index for CAD applications Michiel De Wilde Ghent University, Belgium

Upload: godfrey-farmer

Post on 19-Jan-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: AQUASUN - GLSVLSI '02April 19, 2002 --1-- AQUASUN: an adaptable 2D range index for CAD applications Michiel De Wilde Ghent University, Belgium

AQUASUN - GLSVLSI '02April 19, 2002 --1--

AQUASUN: an adaptable 2D range index for CAD

applications

AQUASUN: an adaptable 2D range index for CAD

applications

Michiel De WildeGhent University, Belgium

Page 2: AQUASUN - GLSVLSI '02April 19, 2002 --1-- AQUASUN: an adaptable 2D range index for CAD applications Michiel De Wilde Ghent University, Belgium

AQUASUN - GLSVLSI '02April 19, 2002 --2--

Representation of VLSI layouts

Representation of VLSI layouts

VLSIdesign

ABCcoreIJK

core

XYZcore

RAMIP

core

• Directed Acyclic Graph (DAG)– Used for navigating the floorplan

• DAG node = module– Rectangular piece of layout– Interconnects subsidiary modules

Standard cells

• Lower-level design hierarchy is often flattened by– certain logic optimisations– place and route as a sea of cells

• Modules can be quite complex

• Complex VLSI design is done in an hierarchical way

• Higher-level design hierarchy persists in the layout phase

Page 3: AQUASUN - GLSVLSI '02April 19, 2002 --1-- AQUASUN: an adaptable 2D range index for CAD applications Michiel De Wilde Ghent University, Belgium

AQUASUN - GLSVLSI '02April 19, 2002 --3--

Spatial searchesSpatial searches

Standard cells

• Top-down DAG traversal– Only examine relevant part

of the hierarchy

• Find all indivisible layout objects that intersect a given rectangular area– Name: window query

window

• In each relevant module: find all relevant submodules– Search operation for all window-

intersecting layout rectangles– In a complex module, iteration

over the entire layout is too slow– Auxiliary structure: spatial

index– O(log(total #rectangles)) time

complexity for small windows

Page 4: AQUASUN - GLSVLSI '02April 19, 2002 --1-- AQUASUN: an adaptable 2D range index for CAD applications Michiel De Wilde Ghent University, Belgium

AQUASUN - GLSVLSI '02April 19, 2002 --4--

Fast spatial index necessityFast spatial index necessity

• Do we need a fast spatial index?• In VLSI layout tools, several operations

perform spatial searches:– Design Rules Check (DRC): verify minimal distances

between, e.g., metal lines– Parasitics extraction: find close metal lines– Graphical User Interface (GUI): find all layout

rectangles intersecting the viewing window

• Some (interactive) operations spend substantial resources on spatial searches– A fast spatial index helps to keep the application

responsive

Page 5: AQUASUN - GLSVLSI '02April 19, 2002 --1-- AQUASUN: an adaptable 2D range index for CAD applications Michiel De Wilde Ghent University, Belgium

AQUASUN - GLSVLSI '02April 19, 2002 --5--

• No rectangle ordering preserves spatial proximity– Vital to uphold proximity in

the data structure

• Search operations ignoreno-result tree branches– This yields log(n)

performance

Overall 2D range index approach

Overall 2D range index approach

• Rectangle = 2D interval 2D range index

• Cope with layout changes adaptable index

• Hierarchical decomposition of the layout tree

Page 6: AQUASUN - GLSVLSI '02April 19, 2002 --1-- AQUASUN: an adaptable 2D range index for CAD applications Michiel De Wilde Ghent University, Belgium

AQUASUN - GLSVLSI '02April 19, 2002 --6--

• Heuristically maintained hierarchy of directory rectangles (memory pages)– Parent nodes enclose their

children– Siblings may intersect

The R-tree familyThe R-tree family

• Leaf nodes link to enclosed layout rectangles (once)– Tree depth ~ O(log(n))

• …but adaptation order dependent• >1 possible leaf nodes / rectangle

yields an adaptability overhead

?• Fully adaptable• Generally, an efficient packing…

Page 7: AQUASUN - GLSVLSI '02April 19, 2002 --1-- AQUASUN: an adaptable 2D range index for CAD applications Michiel De Wilde Ghent University, Belgium

AQUASUN - GLSVLSI '02April 19, 2002 --7--

The quadtree familyThe quadtree family• Applies regular hierarchical

area division– Only square nodes– Each non-leaf node has four

identical child nodes

• Disjoint sibling nodes• You cannot avoid

rectangles intersecting all feasible leaf nodes– How do you link to them?– Which tree decomposition?

Existing approaches handle this issue in very dissimilar ways

Page 8: AQUASUN - GLSVLSI '02April 19, 2002 --1-- AQUASUN: an adaptable 2D range index for CAD applications Michiel De Wilde Ghent University, Belgium

AQUASUN - GLSVLSI '02April 19, 2002 --8--

AQUASUN: overall structureAQUASUN: overall structureAdaptable quadtree skipping underpopulated levels

– Allows sibling level elimination

– Parallel 1D node decompositionsSeparation of close oblong rectangleslike metal interconnect

– Links nodes to layout rectangles by their lower-left corner larger rectangles closer to the rootOnly protrusion into 3 adjoining siblings

Page 9: AQUASUN - GLSVLSI '02April 19, 2002 --1-- AQUASUN: an adaptable 2D range index for CAD applications Michiel De Wilde Ghent University, Belgium

AQUASUN - GLSVLSI '02April 19, 2002 --9--

• Recipe for an efficient treeAQUASUN: tree compositionAQUASUN: tree composition

1. Link to rectangles from nodes of similar same shape & size– Minimizes # of individual

rectangle inspections2. Prune leaf nodes linked to few layout rectangles– Reduce tree traversal

overhead3. Prune underpopulated

levels of sibling nodes– Only to reduce the # of nodes– Tree depth independent of the

# of layout rectangles– Processing speed becomes

independent of layout size (direct 2D array indexing)

Page 10: AQUASUN - GLSVLSI '02April 19, 2002 --1-- AQUASUN: an adaptable 2D range index for CAD applications Michiel De Wilde Ghent University, Belgium

AQUASUN - GLSVLSI '02April 19, 2002 --10--

AQUASUN: fast adaptabilityAQUASUN: fast adaptability

• 1 layout 1 optimal tree composition– Order of adaptations is unimportant– Subsequent adaptations

only incremental structural changes

• At runtime, optimal composition is upheld– Slight intentional hysteresis

prevents restructuring repetitions

• Overhead of verifying optimal composition– Almost negligible: only 2..3 integer

manipulations(in/decrements and zero-value checks)

Page 11: AQUASUN - GLSVLSI '02April 19, 2002 --1-- AQUASUN: an adaptable 2D range index for CAD applications Michiel De Wilde Ghent University, Belgium

AQUASUN - GLSVLSI '02April 19, 2002 --11--

Side-by-side comparisonSide-by-side comparison

R-tree family

Uses irregular nodes

Applies heuristics to get a generally efficient tree compositionOrder of adaptations influences compositionDepth = O(log(n))

Non-determinism in leaf-node linking yields adaptability overhead

AQUASUN

Uses regular nodes

Only one ‘ideal’ tree composition possible given a layoutAdaptation order independence

Depth ≠ f(n)

Almost negligible adaptability overhead

Page 12: AQUASUN - GLSVLSI '02April 19, 2002 --1-- AQUASUN: an adaptable 2D range index for CAD applications Michiel De Wilde Ghent University, Belgium

AQUASUN - GLSVLSI '02April 19, 2002 --12--

PerformancePerformance

+ =

• Conversion of a VLSI layout to PostScript

• RSA encryption chip, 370K rectangles

R*-tree AQUASUN6’33” 2’08”Processing

timeWindow queries

5x fasterAdaptations 8x faster

Memory usage coordinate compressio

n

(PII 233 MHz)