aquasun - glsvlsi '02april 19, 2002 --1-- aquasun: an adaptable 2d range index for cad...
TRANSCRIPT
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
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
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
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
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
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…
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
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
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)
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)
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
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)