Efficient Multi-Layer Obstacle- Avoiding Rectilinear Steiner Tree Construction Chung-Wei Lin,...

20
Efficient Multi-Layer Efficient Multi-Layer Obstacle-Avoiding Obstacle-Avoiding Rectilinear Steiner Rectilinear Steiner Tree Construction Tree Construction Chung-Wei Lin , Shih-Lun Chung-Wei Lin , Shih-Lun Huang , Kai-Chi Hsu ,Meng- Huang , Kai-Chi Hsu ,Meng- Xiang Li , Yao-Wen Chang Xiang Li , Yao-Wen Chang ICCAD’07 ICCAD’07

Transcript of Efficient Multi-Layer Obstacle- Avoiding Rectilinear Steiner Tree Construction Chung-Wei Lin,...

Page 1: Efficient Multi-Layer Obstacle- Avoiding Rectilinear Steiner Tree Construction Chung-Wei Lin, Shih-Lun Huang, Kai-Chi Hsu,Meng-Xiang Li, Yao-Wen Chang.

Efficient Multi-Layer Efficient Multi-Layer Obstacle-Avoiding Obstacle-Avoiding

Rectilinear Steiner Tree Rectilinear Steiner Tree ConstructionConstruction

Chung-Wei Lin , Shih-Lun Huang , Chung-Wei Lin , Shih-Lun Huang , Kai-Chi Hsu ,Meng-Xiang Li , Yao-Kai-Chi Hsu ,Meng-Xiang Li , Yao-

Wen ChangWen Chang

ICCAD’07ICCAD’07

Page 2: Efficient Multi-Layer Obstacle- Avoiding Rectilinear Steiner Tree Construction Chung-Wei Lin, Shih-Lun Huang, Kai-Chi Hsu,Meng-Xiang Li, Yao-Wen Chang.

OutlineOutline

IntroductionIntroduction Problem FormulationProblem Formulation AlgorithmAlgorithm

SL-OARSMTSL-OARSMT ML-OARSMTML-OARSMT

Experimental ResultExperimental Result ConclusionConclusion

Page 3: Efficient Multi-Layer Obstacle- Avoiding Rectilinear Steiner Tree Construction Chung-Wei Lin, Shih-Lun Huang, Kai-Chi Hsu,Meng-Xiang Li, Yao-Wen Chang.

IntroductionIntroduction

Multi-layer obstacle-avoiding rectilinear Multi-layer obstacle-avoiding rectilinear Steiner minimal tree (ML-OARSMT) Steiner minimal tree (ML-OARSMT) connects pins which locate on routing connects pins which locate on routing layers by rectilinear edges, and avoids layers by rectilinear edges, and avoids running through any obstacle.running through any obstacle.

ML-OARSMT can facilitate the cell ML-OARSMT can facilitate the cell placement.placement.

Router should connect all pins, no matter Router should connect all pins, no matter on which layer and consider routing on which layer and consider routing obstacleobstacle

Page 4: Efficient Multi-Layer Obstacle- Avoiding Rectilinear Steiner Tree Construction Chung-Wei Lin, Shih-Lun Huang, Kai-Chi Hsu,Meng-Xiang Li, Yao-Wen Chang.

IntroductionIntroduction

This is first paper for ML-OARSMT This is first paper for ML-OARSMT problem.problem.

Previous work only handle single-layer, Previous work only handle single-layer, can be classified into two categoriescan be classified into two categories construct-and-correction approachconstruct-and-correction approach

Construct Steiner tree not consider obstacle Construct Steiner tree not consider obstacle then replace edges overlapping obstacle.then replace edges overlapping obstacle.

connect graph based approachconnect graph based approach Construct connect graph using pins and Construct connect graph using pins and

obstacle corners to find minimum spanning tree.obstacle corners to find minimum spanning tree.

Page 5: Efficient Multi-Layer Obstacle- Avoiding Rectilinear Steiner Tree Construction Chung-Wei Lin, Shih-Lun Huang, Kai-Chi Hsu,Meng-Xiang Li, Yao-Wen Chang.

Problem FormulationProblem Formulation Legal and IllegalLegal and Illegal

P={pP={p11,p,p22,…,p,…,pmm}: set of pin-vertices for m-}: set of pin-vertices for m-pin netpin net

O={oO={o11,o,o22,…,o,…,okk}: set of k obstacle}: set of k obstacle n: size of P∪ {corners in O}, n ≤ m+4kn: size of P∪ {corners in O}, n ≤ m+4k

Page 6: Efficient Multi-Layer Obstacle- Avoiding Rectilinear Steiner Tree Construction Chung-Wei Lin, Shih-Lun Huang, Kai-Chi Hsu,Meng-Xiang Li, Yao-Wen Chang.

Problem FormulationProblem Formulation

CCvv: via cost ; N: via cost ; Nll: number of layers: number of layers

Cost (vCost (vii , v , vjj)=|x)=|xii-x-xjj|+|y|+|yii-y-yjj|+|z|+|zii-z-zjj|*C|*Cvv

Give constants Cv and Nl, a set P of pins, Give constants Cv and Nl, a set P of pins, a set O of obstacles, construct amulti-a set O of obstacles, construct amulti-layer rectilinear Steiner tree to connect layer rectilinear Steiner tree to connect the pins in P, such that no tree edge or the pins in P, such that no tree edge or via intersects an obstacle in O and total via intersects an obstacle in O and total cost of the tree is minimized.cost of the tree is minimized.

Page 7: Efficient Multi-Layer Obstacle- Avoiding Rectilinear Steiner Tree Construction Chung-Wei Lin, Shih-Lun Huang, Kai-Chi Hsu,Meng-Xiang Li, Yao-Wen Chang.

AlgorithmAlgorithm

This paper base on “Efficient This paper base on “Efficient Obstacle –Avoiding Rectilinear Obstacle –Avoiding Rectilinear Steiner Tree Construction” which is Steiner Tree Construction” which is a single layer Steiner tree construct a single layer Steiner tree construct method announce in ISPD’07 by method announce in ISPD’07 by same lab.same lab.

This paper use connect graph This paper use connect graph approach method.approach method.

Page 8: Efficient Multi-Layer Obstacle- Avoiding Rectilinear Steiner Tree Construction Chung-Wei Lin, Shih-Lun Huang, Kai-Chi Hsu,Meng-Xiang Li, Yao-Wen Chang.

SL-OARSMTSL-OARSMT

Page 9: Efficient Multi-Layer Obstacle- Avoiding Rectilinear Steiner Tree Construction Chung-Wei Lin, Shih-Lun Huang, Kai-Chi Hsu,Meng-Xiang Li, Yao-Wen Chang.

AlgorithmAlgorithm

1. Construct multi-layer obstacle-avoiding 1. Construct multi-layer obstacle-avoiding spanning graph.spanning graph.

2. Prim’s algorithm construct multi-layer 2. Prim’s algorithm construct multi-layer obstacle-avoiding spanning tree.obstacle-avoiding spanning tree.

3. Rectilinear to construct multi-layer 3. Rectilinear to construct multi-layer obstacle-avoiding rectilinear spanning obstacle-avoiding rectilinear spanning tree.tree.

4. Reduce to multi-layer obstacle-avoiding 4. Reduce to multi-layer obstacle-avoiding rectilinear Steiner minimal tree.rectilinear Steiner minimal tree.

Page 10: Efficient Multi-Layer Obstacle- Avoiding Rectilinear Steiner Tree Construction Chung-Wei Lin, Shih-Lun Huang, Kai-Chi Hsu,Meng-Xiang Li, Yao-Wen Chang.

AlgorithmAlgorithm

Page 11: Efficient Multi-Layer Obstacle- Avoiding Rectilinear Steiner Tree Construction Chung-Wei Lin, Shih-Lun Huang, Kai-Chi Hsu,Meng-Xiang Li, Yao-Wen Chang.

ML-OASGML-OASG

It’s not feasible to direct extend the single-It’s not feasible to direct extend the single-layer obstacle-avoiding spanning graph.layer obstacle-avoiding spanning graph.

SL-OASG Connection rule:SL-OASG Connection rule: 1. The SL-OASG is constructed on all pin-1. The SL-OASG is constructed on all pin-

vertices and corner-vertices.vertices and corner-vertices. 2. Two vertices connected if there is no other 2. Two vertices connected if there is no other

vertex inside or on the boundary of the vertex inside or on the boundary of the bounding box or obstacle inside the bounding bounding box or obstacle inside the bounding box.box.

So using projection to obtain more feasible So using projection to obtain more feasible solution.solution.

Page 12: Efficient Multi-Layer Obstacle- Avoiding Rectilinear Steiner Tree Construction Chung-Wei Lin, Shih-Lun Huang, Kai-Chi Hsu,Meng-Xiang Li, Yao-Wen Chang.

Trivial Extend ErrorTrivial Extend Error

Page 13: Efficient Multi-Layer Obstacle- Avoiding Rectilinear Steiner Tree Construction Chung-Wei Lin, Shih-Lun Huang, Kai-Chi Hsu,Meng-Xiang Li, Yao-Wen Chang.

Vertex Projection Vertex Projection between layersbetween layers

Project point on other layer if is inside Project point on other layer if is inside obstacle then insert some vertices to obstacle then insert some vertices to extend solution space.extend solution space.

Page 14: Efficient Multi-Layer Obstacle- Avoiding Rectilinear Steiner Tree Construction Chung-Wei Lin, Shih-Lun Huang, Kai-Chi Hsu,Meng-Xiang Li, Yao-Wen Chang.

Vertex Projection within Vertex Projection within a Layera Layer

Other method to extend solution space, Other method to extend solution space, but this projection not effective to improve but this projection not effective to improve solution when number of vertices is large.solution when number of vertices is large.

Page 15: Efficient Multi-Layer Obstacle- Avoiding Rectilinear Steiner Tree Construction Chung-Wei Lin, Shih-Lun Huang, Kai-Chi Hsu,Meng-Xiang Li, Yao-Wen Chang.

ML-OASG Construct ML-OASG Construct AlgorithmAlgorithm

TTnn is a user is a user define define number to number to trade of trade of runtime runtime and and solution.solution.

Page 16: Efficient Multi-Layer Obstacle- Avoiding Rectilinear Steiner Tree Construction Chung-Wei Lin, Shih-Lun Huang, Kai-Chi Hsu,Meng-Xiang Li, Yao-Wen Chang.

OARST ConstructionOARST Construction

It rectilinear method define three case:It rectilinear method define three case:

Page 17: Efficient Multi-Layer Obstacle- Avoiding Rectilinear Steiner Tree Construction Chung-Wei Lin, Shih-Lun Huang, Kai-Chi Hsu,Meng-Xiang Li, Yao-Wen Chang.

Experimental ResultExperimental Result

Tn=10, so this method not use projection Tn=10, so this method not use projection within layer.within layer.

Page 18: Efficient Multi-Layer Obstacle- Avoiding Rectilinear Steiner Tree Construction Chung-Wei Lin, Shih-Lun Huang, Kai-Chi Hsu,Meng-Xiang Li, Yao-Wen Chang.

Experimental ResultExperimental Result

Compare with construction-by-correction Compare with construction-by-correction approachapproach

Page 19: Efficient Multi-Layer Obstacle- Avoiding Rectilinear Steiner Tree Construction Chung-Wei Lin, Shih-Lun Huang, Kai-Chi Hsu,Meng-Xiang Li, Yao-Wen Chang.

Experimental ResultExperimental Result

Compare using projection within layer Compare using projection within layer or notor not

Page 20: Efficient Multi-Layer Obstacle- Avoiding Rectilinear Steiner Tree Construction Chung-Wei Lin, Shih-Lun Huang, Kai-Chi Hsu,Meng-Xiang Li, Yao-Wen Chang.

ConclusionConclusion

This is a contest problem, a good This is a contest problem, a good project method extend can get good project method extend can get good result.result.

Faster then my previous method, Faster then my previous method, might using some good method to might using some good method to improve.improve.