A.B. Kahng, Ion I. Mandoiu A.B. Kahng, Ion I. Mandoiu University of California at San Diego, USA A.Z. Zelikovsky A.Z. Zelikovsky Georgia State University, USA Supported in part by MARCO GSRC and Cadence Design Systems, Inc. Highly Scalable Highly Scalable Algorithms for Algorithms for Rectilinear and Rectilinear and Octilinear Steiner Trees Octilinear Steiner Trees
27
Embed
A.B. Kahng, Ion I. Mandoiu University of California at San Diego, USA A.Z. Zelikovsky
Highly Scalable Algorithms for Rectilinear and Octilinear Steiner Trees. A.B. Kahng, Ion I. Mandoiu University of California at San Diego, USA A.Z. Zelikovsky Georgia State University, USA Supported in part by MARCO GSRC and Cadence Design Systems, Inc. Outline. Single net routing problem - PowerPoint PPT Presentation
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
A.B. Kahng, Ion I. MandoiuA.B. Kahng, Ion I. Mandoiu University of California at San Diego, USA
A.Z. ZelikovskyA.Z. ZelikovskyGeorgia State University, USA
Supported in part by MARCO GSRC and Cadence Design Systems, Inc.
Highly Scalable Algorithms for Highly Scalable Algorithms for Rectilinear and Octilinear Rectilinear and Octilinear
Steiner TreesSteiner Trees
ASP-DAC 2003, Kitakyushu, Japan 2
Outline
• Single net routing problem– Problem definition– Previous work– Motivation for highly scalable heuristics
• The batched greedy algorithm– High-level algorithm– Efficient generation of triples– Efficient bottleneck-edge computation
• Experimental results and conclusions
• Single net routing problem– Problem definition– Previous work– Motivation for highly scalable heuristics
• The batched greedy algorithm– High-level algorithm– Efficient generation of triples– Efficient bottleneck-edge computation
• Experimental results and conclusions
ASP-DAC 2003, Kitakyushu, Japan 3
Single Net Routing Problem
Given: set of terminalsterminals in the planeFind: minimum length interconnectionminimum length interconnection
• Not practical for tens of thousands of terminals!
Previous RSMT/OSMT Algorithms
ASP-DAC 2003, Kitakyushu, Japan 7
Motivation for Highly Scalable Heuristics
• Most nets are small (<20 terminals)…
• But nets with >104 terminals become increasingly common
– Scan-enable nets in large designs using full-scan testScan-enable nets in large designs using full-scan test
• All flip-flops need to receive the scan-enable signal
– Nets with pre-routes and non-zero terminal dimensionsNets with pre-routes and non-zero terminal dimensions
• Each terminal represented by set of electrically equivalent pins
RSMT/OSMT instances with up to 105 pins
ASP-DAC 2003, Kitakyushu, Japan 8
Requirements for Highly Scalable RSMT/OSMT Heuristics
• Linear memory
• Sub-quadratic runtime
• Solutions within ~0.5% of optimum
• Previous Steiner tree heuristics do not meet first two
requirements
ASP-DAC 2003, Kitakyushu, Japan 9
Outline
• Single net routing problem– Problem definition– Previous work– Motivation for highly scalable heuristics
• The batched greedy algorithm– High-level algorithm– Efficient generation of triples– Efficient bottleneck-edge computation
• Experimental results and conclusions
ASP-DAC 2003, Kitakyushu, Japan 10
Triple Contraction
• Connect 3 terminals (=triple) using shortest connection
• Remove longest edge on each of the 2 formed cycles
GAIN = -
ASP-DAC 2003, Kitakyushu, Japan 11
High-level Algorithm
Greedy Triple-Contraction Algorithm [Zelikovsky 1993]:1. Compute MST of terminals2. While there exist triples with positive gain, do:
• Find triple with maximum gain• Contract triple: remove longest edges, replace triple with 2 zero-
cost edges3. Output MST of terminals and centers of contracted triples
• Expensive to compute max-gain triple in Step 2• Best implementation uses complex dynamic MST datastructures
• We use a batched implementationWe use a batched implementation– Find positive-gain triples– Contract triples in descending order of gain without recomputing gainswithout recomputing gains– A triple is selected if 2 longest edges A triple is selected if 2 longest edges not used by previous triples
ASP-DAC 2003, Kitakyushu, Japan 12
Efficient Generation of Triples
• O(n3) triples overall• Use geometry to avoid generating all of them!
– [Fossmeier,Kaufmann&Zelikovsky 1997]: sufficient to consider a set of a set of O(n) triples withO(n) triples with
• Empty interior ( no other terminal in bounding box)• Positive gainPositive gain
• We use a practical O(nlogn) divide-and-conquer algorithm to compute a superset of size O(n logn)– Some triples may have negative gain
• Eliminated after gain computation– Some triples may be non-empty
• Can be removed, but too few to justify the extra testing time
ASP-DAC 2003, Kitakyushu, Japan 13
Divide-and-conquer for Empty Triples
ASP-DAC 2003, Kitakyushu, Japan 14
Divide-and-conquer for Empty Triples
ASP-DAC 2003, Kitakyushu, Japan 15
Divide-and-conquer for Empty Triples
ASP-DAC 2003, Kitakyushu, Japan 16
Divide-and-conquer for Empty Triples
ASP-DAC 2003, Kitakyushu, Japan 17
Efficient Bottleneck-edge Computation
Bottleneck edges needed for computing triple gains
Given: tree T, vertices u,vFind: most expensive edge on path between u and v
• We give a new data structure– O(logn) time per bottleneck-edge query– O(n logn) pre-processing (O(n) if edges already sorted)– Much more practical than methods based on least-common-ancestors
Gain evaluation in O(logn) time per triple
O(n logO(n log22n) total time for the batched greedy algorithmn) total time for the batched greedy algorithm
ASP-DAC 2003, Kitakyushu, Japan 18
Outline
• Single net routing problem– Problem definition– Previous work– Motivation for highly scalable heuristics
• The batched greedy algorithm– High-level algorithm– Efficient generation of triples– Efficient bottleneck-edge computation
• Experimental results and conclusions
ASP-DAC 2003, Kitakyushu, Japan 19
Experimental Setup
• Testcases– Random nets with 100 to 500,000 terminals
• 100 samples for each size– Nets extracted from recent designs (330 to 34,000 terminals)
• BatchGreedyBatchGreedy quality slightly better than quality slightly better than Edge-basedEdge-based, 1% better than , 1% better than Prim-basedPrim-based
• Within 0.7% of optimum computed byWithin 0.7% of optimum computed by GeoSteiner GeoSteiner
ASP-DAC 2003, Kitakyushu, Japan 21
CPU Time: Random Rectilinear Tests
0.001
0.01
0.1
1
10
100
1000
10000
100000
#Terminals
CP
U S
ec
on
ds
GeoSteinerBatchGreedyEdge-BasedPrim-Based
• BatchGreedy highly scalable, practical runtime up to 10 highly scalable, practical runtime up to 1055 terminals terminals
• Edge-BasedEdge-Based impractical for >10 impractical for >1044 terminals terminals