1 / 36

Efficient Obstacle-Avoiding Rectilinear Steiner Tree Construction

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. Introduction. Problem Formulation. Algorithm. Experimental Results. Conclusions. Outline. Introduction.

mcatee
Download Presentation

Efficient Obstacle-Avoiding Rectilinear Steiner Tree Construction

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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. Introduction Problem Formulation Algorithm Experimental Results Conclusions Outline

  3. Introduction Problem Formulation Algorithm Experimental Results Conclusions Outline

  4. IP block IP block Prerouted nets 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

  5. Construction-by-Correction Approach • Construct an initial tree without considering obstacles • Correct edges overlapping obstacles Construction Correction • 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 Spanning graph Spanning tree OARSMT • Prune many redundant edges to reduce problem size • Obtain much better solution quality • Shen et al., ICCD-05 • Achieve good results but can be further improved

  7. Introduction Problem Formulation Algorithm Experimental Results Conclusions Outline

  8. Obstacles are point-touched or line touched Obstacles overlap each other A pin is at the corner or on the boundary of an obstacle A pin locates inside an obstacle An edge is point-touched or line-touched with an obstacle An edge intersects an obstacle Problem Formulation • Given m pins {p1, p2, …, pm} and k obstacles {o1, o2, …, ok}, construct an OARSMT such that the total wirelength of the tree is minimized.

  9. pin-vertex obstacle An OARSMT Example Smaller wirelength Larger wirelength

  10. Introduction Obstacle-Avoiding Spanning Graph Construction Problem Formulation Obstacle-Avoiding Spanning Tree Construction Algorithm Obstacle-Avoiding Rectilinear Spanning Tree Construction Experimental Results OARSMT Construction Conclusions Outline

  11. Spanning Graph Spanning Tree pin-vertex obstacle corner-vertex turning-vertex Steiner-vertex Rectilinear Spanning Tree OARSMT Flow of Algorithms

  12. pin-vertex obstacle corner-vertex turning-vertex Steiner-vertex Flow of Algorithms Spanning Graph Spanning Tree Rectilinear Spanning Tree OARSMT

  13. pin-vertex obstacle corner-vertex R2 R3 p1 p2 p1 p2 c1,3 o3 c1,3 o3 c3,1 R1 c3,1 R4 o1 o1 c1,4 c1,4 c1,1 c1,1 c2,3 c2,3 o2 o2 c4,2 c4,2 o4 o4 Spanning Graph Construction • The plane is divided into four regions for each vertex. R3 of ci,2 R2 of ci,2 ci,2 ci,3 R1 of ci,2 oi ci,1 ci,4 • v1 and v2 are connected if no other vertex or obstacle is inside or on the boundary of the bounding box of v1 and v2. Spanning graph for R2 of c4,2

  14. p2 p1 OARSMT pin-vertex p2 p2 p1 p1 obstacle corner-vertex p2 p1 OARSMT waste waste Properties of Our Spanning Graph (1/2) • Our spanning graph guarantees a shortest path of any two vertices. • Spanning graph of Shen et al. (ICCD-05) does not guarantee it.

  15. p2 p1 p3 pr pr+1 … 4 2 2 2 2 pin-vertex obstacle corner-vertex p2 p2 p1 p3 pr pr+1 p1 p3 pr pr+1 … … 4 2 2 2 2 4r p1 p2 p3 pr pr+1 … 2 2 2 2 2 4r Properties of Our Spanning Graph (2/2) Our spanning graph OARSMT total wirelength = 4r OARSMT total wirelength = 6r+2 Spanning graph of Shen et al.

  16. p1 c1,3 c2,4 c2,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 Blockinginformation p2 o3 c1,1 o1 c3,1 o1 c1,4 c2,3 o2 c1,1 c1,4 o3 c2,3 o2 c4,2 p2 o4 c3,1 Spanning graph for R2 of c4,2

  17. pin-vertex obstacle corner-vertex turning-vertex Steiner-vertex Flow of Algorithms Spanning Graph Spanning Tree Rectilinear Spanning Tree OARSMT

  18. 8 10 10 pin-vertex 6 4 obstacle 10 corner-vertex Spanning Tree Construction Spanning graph Pin-vertices shortest path computation Minimum spanning tree (MST) construction G1 T1 T2 G2 T3 Edges insertion Edges mapping MST construction

  19. pin-vertex obstacle corner-vertex turning-vertex Steiner-vertex Flow of Algorithms Spanning Graph Spanning Tree Rectilinear Spanning Tree OARSMT

  20. e e e e e vb va e 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’: • They are in opposite regions. e is transformed randomly • They are in neighboring regions. e and e’ are transformed with edge overlap • They are in the same region. e and e’ are transformed with edge overlap(va,vb) is transformed randomly

  21. e e e c2 t5 p1 c1 c2 c1 p1 c1 p1 c1 c2 c1 t3 t4 t2 p3 p3 p3 p3 p2 p5 t1 p2 p5 p2 p4 p4 pin-vertex corner-vertex turning-vertex e e vb va e Rectilinear Spanning Tree Construction – Example • They are in opposite regions. e is transformed randomly • They are in neighboring regions. e and e’ are transformed with edge overlap • They are in the same region. e and e’ are transformed with edge overlap(va,vb) is transformed randomly

  22. pin-vertex obstacle corner-vertex turning-vertex Steiner-vertex Flow of Algorithms Spanning Graph Spanning Tree Rectilinear Spanning Tree OARSMT

  23. c2 c1 c1 t4 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. Overlappingedge removal Redundantvertex removal

  24. e1 e1 e1 v1 e2 e2 e5 e2 e3 v2 e3 v2 e3 e4 One of the vertices v1 and v2 must satisfy the refinement rule. e1 v1 e2 Both vertices v1 and v2 must satisfy the refinement rules. e5 e3 v2 e4 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:

  25. Two simple paths Three paths with Steiner-vertex pin-vertex Steiner-vertex 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 • 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. Overall time complexity O(n3) in the worst case O(n2 lgn) for practical applications n: # of pin-vertices and corner-vertices Complexity

  27. Introduction Problem Formulation Algorithm Experimental Results Conclusions Outline

  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. Experimental Results – Total Wirelength

  30. 1 Optimal solutions may be here. Total Wirelength 0 ASP-DAC-06 ISPD-06 ICCD-05 Ours 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.

  31. Experimental Results – CPU Time

  32. log ( CPU Time ) log ( # of edges ) log n log n Experimental Results – Discussions • Empirical time complexity by the least squares fitting • Our algorithm: O(n1.46) • The algorithm in ICCD-05 work: O(n1.40) • By the least squares fitting, # of edges in our spanning graph grows only about O(n1.03). • It is far under the theoretical worst-case complexity of O(n2). • Our algorithm is very suitable to practical applications.

  33. Experimental Results – Routing Result of rt3

  34. Introduction Problem Formulation Algorithm Experimental Results Conclusions Outline

  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!

More Related