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 Outline Conclusions Introduction Problem Formulation Algorithm Experimental Results
3 Outline Conclusions Introduction Problem Formulation Algorithm Experimental Results
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 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 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 Outline Conclusions Introduction Problem Formulation Algorithm Experimental Results
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 An OARSMT Example Larger wirelength Smaller wirelength pin-vertex obstacle
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 Flow of Algorithms pin-vertex obstacle Steiner-vertex corner-vertex turning-vertex Spanning Graph OARSMT Spanning Tree Rectilinear Spanning Tree
12 Flow of Algorithms Spanning Graph Spanning Tree Rectilinear Spanning Tree OARSMT pin-vertex obstacle Steiner-vertex corner-vertex turning-vertex
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 ․ 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 Properties of Our Spanning Graph (2/2) 4r … p1p1 prpr p2p2 p3p3 p r+1 … p1p1 prpr p2p2 p3p … 4r 2222 p1p1 prpr p2p2 p3p3 p r+1 Spanning graph of Shen et al. … p1p1 prpr p2p2 p3p3 p r Our spanning graph OARSMT total wirelength = 6r+2 OARSMT total wirelength = 4r pin-vertex obstacle corner-vertex
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 Flow of Algorithms Spanning Graph Spanning Tree Rectilinear Spanning Tree OARSMT pin-vertex obstacle Steiner-vertex corner-vertex turning-vertex
18 Spanning Tree Construction pin-vertex obstacle corner-vertex Spanning graph T2T2 T3T3 T1T1 G2G2 G1G1 Pin-vertices shortest path computation Minimum spanning tree (MST) construction Edges insertion MST constructionEdges mapping
19 Flow of Algorithms Spanning Graph Spanning Tree Rectilinear Spanning Tree OARSMT pin-vertex obstacle Steiner-vertex corner-vertex turning-vertex
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 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 Flow of Algorithms Spanning Graph Spanning Tree Rectilinear Spanning Tree OARSMT pin-vertex obstacle Steiner-vertex corner-vertex turning-vertex
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 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 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 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 Outline Conclusions Introduction Problem Formulation Algorithm Experimental Results
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 Test Cases # of Pins # of Obstacles Total WirelengthImprovement (%) ASP-DAC- 06ISPD-06ICCD-05Ours To ASP- DAC-06 To ISPD-06 To ICCD-06 ind ind ind ind , ind ,3921, rc110 26,97030,41027,73026, rc ,70045,64042,84042, rc ,38058,57056,44055, rc ,56063,34060,84060, rc ,01083,15076,97076, rc ,75086,40383, rc ,470117,427113, rc ,741123,366118, rc92001, ,850119,744116, rc ,010171,450170, rc111, ,570238,111236, rc121,00010, ,723,990843,529789, rt ,4382, rt ,4986, rt ,7838, rt41001, ,61910, rt52002, ,55753, Avg Experimental Results – Total Wirelength
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 Test Cases # of Pins# of Obstacles CPU Time ASP-DAC-06ISPD-06ICCD-05Ours ind <0.01 ind <0.01 ind <0.01 ind <0.01 ind < rc <0.01 rc <0.01 rc <0.01 rc <0.01 rc < rc rc rc rc92001, rc rc111, rc121,00010, rt rt rt rt41001, rt52002, Experimental Results – CPU Time
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 Experimental Results – Routing Result of rt3
34 Outline Conclusions Introduction Problem Formulation Algorithm Experimental Results
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 Thank You!