Presentation is loading. Please wait.

Presentation is loading. Please wait.

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.

Similar presentations


Presentation on theme: "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."— Presentation transcript:

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!


Download ppt "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."

Similar presentations


Ads by Google