Download presentation
Presentation is loading. Please wait.
Published byJuliana Greene Modified over 8 years ago
1
1 Efficient Obstacle-Avoiding Rectilinear Steiner Tree Construction Chung-Wei Lin, Szu-Yu Chen, Chi-Feng Li, Yao-Wen Chang, Chia-Lin Yang National Taiwan University
2
2 Outline Conclusions Introduction Problem Formulation Algorithm Experimental Results
3
3 Outline Conclusions Introduction Problem Formulation Algorithm Experimental Results
4
4 Introduction to OARSMT Problem ․ Given a set of pins and a set of obstacles, an obstacle- avoiding rectilinear Steiner minimal tree (OARSMT) Connect those pins, possibly through some Steiner points Use only vertical and horizontal edges Avoid running through any obstacle Have a minimal total wirelength ․ It becomes more important than ever for modern nanometer IC designs. The design needs to consider numerous routing obstacles incurred from Prerouted nets Large-scale power networks IP blocks, etc IP block Prerouted nets IP block
5
5 Construction-by-Correction Approach ConstructionCorrection ․ Construct an initial tree without considering obstacles ․ Correct edges overlapping obstacles ․ Lack a global view of obstacles ․ Have a limited solution quality ․ Feng et al., ISPD-06 Construct OARSMT in the λ-geometry plane
6
6 Connection-Graph Based Approach ․ Construct a connection graph in which there is a desired OARSMT ․ Apply searching techniques to find the desired OARSMT ․ Prune many redundant edges to reduce problem size ․ Obtain much better solution quality Spanning graphSpanning treeOARSMT ․ Shen et al., ICCD-05 Achieve good results but can be further improved
7
7 Outline Conclusions Introduction Problem Formulation Algorithm Experimental Results
8
8 Problem Formulation ․ Given m pins {p 1, p 2, …, p m } and k obstacles {o 1, o 2, …, o k }, construct an OARSMT such that the total wirelength of the tree is minimized. Obstacles overlap each other Obstacles are point-touched or line touched A pin locates inside an obstacle A pin is at the corner or on the boundary of an obstacle An edge intersects an obstacle An edge is point-touched or line-touched with an obstacle
9
9 An OARSMT Example Larger wirelength Smaller wirelength pin-vertex obstacle
10
10 Outline Obstacle-Avoiding Spanning Tree Construction Obstacle-Avoiding Spanning Graph Construction Obstacle-Avoiding Rectilinear Spanning Tree Construction OARSMT Construction Conclusions Introduction Problem Formulation Algorithm Experimental Results
11
11 Flow of Algorithms pin-vertex obstacle Steiner-vertex corner-vertex turning-vertex Spanning Graph OARSMT Spanning Tree Rectilinear Spanning Tree
12
12 Flow of Algorithms Spanning Graph Spanning Tree Rectilinear Spanning Tree OARSMT pin-vertex obstacle Steiner-vertex corner-vertex turning-vertex
13
13 Spanning Graph Construction ․ The plane is divided into four regions for each vertex. pin-vertex obstacle corner-vertex R1R1 R2R2 R3R3 R4R4 R 1 of c i,2 c i,1 c i,2 c i,3 c i,4 R 3 of c i,2 R 2 of c i,2 ․ v 1 and v 2 are connected if no other vertex or obstacle is inside or on the boundary of the bounding box of v 1 and v 2. Spanning graph for R 2 of c 4,2 o4o4 p1p1 p2p2 o3o3 o2o2 o1o1 c 1,4 c 3,1 c 4,2 c 2,3 c 1,3 c 1,1 o4o4 p1p1 p2p2 o3o3 o2o2 o1o1 c 1,4 c 3,1 c 4,2 c 2,3 c 1,3 c 1,1 oioi
14
14 ․ Our spanning graph guarantees a shortest path of any two vertices. Properties of Our Spanning Graph (1/2) p1p1 p2p2 p1p1 p2p2 OARSMT p1p1 p2p2 ․ Spanning graph of Shen et al. (ICCD-05) does not guarantee it. pin-vertex obstacle corner-vertex waste p1p1 p2p2 OARSMT
15
15 Properties of Our Spanning Graph (2/2) 4r … p1p1 prpr p2p2 p3p3 p r+1 … p1p1 prpr p2p2 p3p3 222 4 2 2 … 4r 2222 p1p1 prpr p2p2 p3p3 p r+1 Spanning graph of Shen et al. … p1p1 prpr p2p2 p3p3 p r+1 222 4 2 Our spanning graph OARSMT total wirelength = 6r+2 OARSMT total wirelength = 4r pin-vertex obstacle corner-vertex
16
16 o4o4 p2p2 o3o3 o2o2 o1o1 c 1,4 c 3,1 c 4,2 c 2,3 c 1,1 p1p1 c 1,3 c 2,4 c 2,1 Spanning Graph Construction – Example ․ Apply a sweeping line algorithm for each region ․ Use blocking information to check a vertex is blocked or not Candidate set Blocking information c 1,1 c 2,3 c 1,4 p2p2 c 3,1 o1o1 o2o2 o3o3 Spanning graph for R 2 of c 4,2
17
17 Flow of Algorithms Spanning Graph Spanning Tree Rectilinear Spanning Tree OARSMT pin-vertex obstacle Steiner-vertex corner-vertex turning-vertex
18
18 Spanning Tree Construction pin-vertex obstacle corner-vertex 810 4 6 Spanning graph T2T2 T3T3 T1T1 G2G2 G1G1 Pin-vertices shortest path computation Minimum spanning tree (MST) construction Edges insertion MST constructionEdges mapping
19
19 Flow of Algorithms Spanning Graph Spanning Tree Rectilinear Spanning Tree OARSMT pin-vertex obstacle Steiner-vertex corner-vertex turning-vertex
20
20 Rectilinear Spanning Tree Construction ․ Transform slant edges into vertical and horizontal edges Longer edges are transformed first. Three cases for a slant edge e and its neighboring edge e’: e e vbvb vava e e 2.They are in neighboring regions. 3.They are in the same region. e e e is transformed randomly e and e’ are transformed with edge overlap e and e’ are transformed with edge overlap (v a,v b ) is transformed randomly 1.They are in opposite regions.
21
21 Rectilinear Spanning Tree Construction – Example p3p3 p4p4 p5p5 p2p2 p1p1 c1c1 c2c2 p3p3 p4p4 p5p5 t1t1 t2t2 p1p1 p2p2 c1c1 t3t3 t4t4 pin-vertexcorner-vertexturning-vertex e e vbvb vava e e e e 2.They are in neighboring regions. 3.They are in the same region. 1.They are in opposite regions. p2p2 p1p1 c1c1 p3p3 c2c2 t5t5 c1c1 p3p3 c2c2 c1c1 e is transformed randomly e and e’ are transformed with edge overlap e and e’ are transformed with edge overlap (v a,v b ) is transformed randomly
22
22 Flow of Algorithms Spanning Graph Spanning Tree Rectilinear Spanning Tree OARSMT pin-vertex obstacle Steiner-vertex corner-vertex turning-vertex
23
23 OARSMT Construction (1/2) ․ Overlapping edge removal ․ Redundant vertex removal A redundant-vertex is a non-pin-vertex with the degree of 2, and the two edges connecting to it are parallel. Overlapping edge removal Redundant vertex removal c1c1 t4t4 c2c2 c1c1
24
24 OARSMT Construction (2/2) ․ U-shaped pattern refinement A vertex satisfies the “U-shaped pattern refinement rules” if it is not a pin-vertex, and its degree is 2. Two cases for the U-shaped pattern refinement: v1v1 v2v2 e1e1 e3e3 e2e2 v2v2 e3e3 e2e2 e1e1 One of the vertices v 1 and v 2 must satisfy the refinement rule. v1v1 v2v2 e1e1 e4e4 e2e2 e3e3 e5e5 e2e2 e3e3 e1e1 e5e5 e4e4 Both vertices v 1 and v 2 must satisfy the refinement rules.
25
25 Properties of Our OARSMT ․ Our OARSMT is an optimal solution for: Any 2-pin net Any 3-pin net without obstacles Any net whose topology of an optimal solution contains only simple paths pin-vertex Steiner-vertex Two simple paths Three paths with Steiner-vertex ․ They are not guaranteed by any previous work. ․ They give the sufficient but not necessary conditions for an optimal solution. More optimal solutions may still be generated in other cases.
26
26 Complexity ․ Overall time complexity O(n 3 ) in the worst case O(n 2 lgn) for practical applications n: # of pin-vertices and corner-vertices Spanning Graph Construction Spanning Tree Construction Rectilinear Spanning Tree Construction OARSMT Construction Worst Case O(n 2 lgn)O(n 3 )O(n lgn)O(n 2 ) Practical Applications (# of edges in spanning graph is O(n).) O(n lgn)O(n 2 lgn)O(n lgn)O(n 2 )
27
27 Outline Conclusions Introduction Problem Formulation Algorithm Experimental Results
28
28 Experimental Settings ․ The algorithm is compared with Shi et al., ASP-DAC-06 Feng et al., ISPD-06 Shen et al., ICCD-05 ․ 22 benchmark circuits classified into 3 categories 5 industrial test cases from Synopsys (ind1--ind5) 12 test cases used by Feng et al. (rc1--rc12) 5 random test cases generated by us (rt1--rt5) # of pin-vertices ranges from 10 to 1,000 # of obstacles ranges from 10 to 10,000
29
29 Test Cases # of Pins # of Obstacles Total WirelengthImprovement (%) ASP-DAC- 06ISPD-06ICCD-05Ours To ASP- DAC-06 To ISPD-06 To ICCD-06 ind11032--- 646 632--- 2.17 ind21043--- 10196--- 4.95 ind31050--- 623 613--- 1.61 ind42579--- 1,121 --- 0.00 ind53371--- 1,3921,364--- 2.01 rc110 26,97030,41027,73026,900 0.2611.542.99 rc2301041,70045,64042,84042,210-1.227.521.47 rc3501062,38058,57056,44055,75010.634.811.22 rc4701066,56063,34060,84060,3509.334.720.81 rc51001080,01083,15076,97076,3304.608.200.83 rc6100500---149,75086,40383,365---44.333.52 rc7200500---181,470117,427113,260---37.593.55 rc8200800---202,741123,366118,747---41.433.74 rc92001,000---214,850119,744116,168---45.932.99 rc10500100---198,010171,450170,690---13.800.44 rc111,000100---250,570238,111236,615---5.570.63 rc121,00010,000---1,723,990843,529789,288---54.236.45 rt110500--- 2,4382,267--- 7.01 rt250500--- 6,4986,055--- 6.82 rt3100500--- 8,7838,368--- 4.73 rt41001,000--- 10,61910,316--- 2.95 rt52002,000--- 55,55753,993--- 2.82 Avg.--- 4.7223.312.89 Experimental Results – Total Wirelength
30
30 Experimental Results – Effectiveness ․ Compared to previous works, our algorithm improves 4.72%, 23.31%, and 2.89%, respectively. Since an optimal solution gives a lower bound, the improvements are very significant. 0 1 ISPD-06ICCD-05 Total Wirelength ASP-DAC-06Ours Optimal solutions may be here.
31
31 Test Cases # of Pins# of Obstacles CPU Time ASP-DAC-06ISPD-06ICCD-05Ours ind11032--- <0.01 ind21043--- <0.01 ind31050--- <0.01 ind42579--- <0.01 ind53371--- <0.010.01 rc110 0.49<0.01 rc230101.03<0.01 rc350108.79<0.01 rc4701067.62<0.01 rc510010595.10<0.010.01 rc6100500---0.060.170.24 rc7200500---0.060.300.43 rc8200800---0.100.480.83 rc92001,000---0.130.640.91 rc10500100---0.030.270.62 rc111,000100---0.040.953.15 rc121,00010,000---2.8265.73118.52 rt110500--- 0.06 rt250500--- 0.11 rt3100500--- 0.160.47 rt41001,000--- 0.340.95 rt52002,000--- 1.422.06 Experimental Results – CPU Time
32
32 Experimental Results – Discussions ․ Empirical time complexity by the least squares fitting Our algorithm: O(n 1.46 ) The algorithm in ICCD-05 work: O(n 1.40 ) ․ By the least squares fitting, # of edges in our spanning graph grows only about O(n 1.03 ). It is far under the theoretical worst-case complexity of O(n 2 ). Our algorithm is very suitable to practical applications. log n log ( CPU Time ) log n log ( # of edges )
33
33 Experimental Results – Routing Result of rt3
34
34 Outline Conclusions Introduction Problem Formulation Algorithm Experimental Results
35
35 Conclusions ․ An algorithm has been proposed to construct an obstacle- avoiding rectilinear Steiner tree (OARSMT). ․ It can achieve an optimal solution for any 2-pin net and nets with more pins in many cases. ․ Experimental results have shown that it is very effective and efficient. ․ With the completeness of our spanning graph, it provides key insights into the search for more desirable OARSMT solutions.
36
36 Thank You!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.