360 likes | 578 Views
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.
E N D
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 Problem Formulation Algorithm Experimental Results Conclusions Outline
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
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
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
Introduction Problem Formulation Algorithm Experimental Results Conclusions Outline
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.
pin-vertex obstacle An OARSMT Example Smaller wirelength Larger wirelength
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
Spanning Graph Spanning Tree pin-vertex obstacle corner-vertex turning-vertex Steiner-vertex Rectilinear Spanning Tree OARSMT Flow of Algorithms
pin-vertex obstacle corner-vertex turning-vertex Steiner-vertex Flow of Algorithms Spanning Graph Spanning Tree Rectilinear Spanning Tree OARSMT
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
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.
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.
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
pin-vertex obstacle corner-vertex turning-vertex Steiner-vertex Flow of Algorithms Spanning Graph Spanning Tree Rectilinear Spanning Tree OARSMT
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
pin-vertex obstacle corner-vertex turning-vertex Steiner-vertex Flow of Algorithms Spanning Graph Spanning Tree Rectilinear Spanning Tree OARSMT
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
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
pin-vertex obstacle corner-vertex turning-vertex Steiner-vertex Flow of Algorithms Spanning Graph Spanning Tree Rectilinear Spanning Tree OARSMT
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
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:
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.
Overall time complexity O(n3) in the worst case O(n2 lgn) for practical applications n: # of pin-vertices and corner-vertices Complexity
Introduction Problem Formulation Algorithm Experimental Results Conclusions Outline
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
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.
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.
Introduction Problem Formulation Algorithm Experimental Results Conclusions Outline
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.