Efficient Rectilinear Steiner Tree Construction with Rectangular Obstacles

Similar documents
Unit 7: Maze (Area) and Global Routing

Chapter 5 Global Routing

Efficient Rectilinear Steiner Tree Construction with Rectilinear Blockages

VLSI Physical Design: From Graph Partitioning to Timing Closure

VLSI Physical Design: From Graph Partitioning to Timing Closure

Basic Idea. The routing problem is typically solved using a twostep

New Optimal Layer Assignment for Bus-Oriented Escape Routing

Seeing Around Corners: Fast Orthogonal Connector Routing

Probability-Based Approach to Rectilinear Steiner Tree Problems

CS612 Algorithms for Electronic Design Automation. Global Routing

ECE 5745 Complex Digital ASIC Design Topic 13: Physical Design Automation Algorithms

ICS 252 Introduction to Computer Design

A Multi-Layer Router Utilizing Over-Cell Areas

General Models for Optimum Arbitrary-Dimension FPGA Switch Box Designs

Multilayer Routing on Multichip Modules

An Exact Algorithm for the Construction of Rectilinear Steiner Minimum Trees among Complex Obstacles

ECE260B CSE241A Winter Routing

Efficient Multilayer Routing Based on Obstacle-Avoiding Preferred Direction Steiner Tree

A Study on Approximation Algorithms for Constructing Rectilinear Steiner Trees

An O(nlogn) Algorithm for Obstacle-Avoiding Routing Tree Construction in the λ-geometry Plane *

Graph Models for Global Routing: Grid Graph

An approximation algorithm for a bottleneck k-steiner tree problem in the Euclidean plane

L14 - Placement and Routing

Computational Geometry

Routability-Driven Bump Assignment for Chip-Package Co-Design

A motion planning method for mobile robot considering rotational motion in area coverage task

Problem Formulation. Specialized algorithms are required for clock (and power nets) due to strict specifications for routing such nets.

Physical Design of Digital Integrated Circuits (EN0291 S40) Sherief Reda Division of Engineering, Brown University Fall 2006

Routing. Robust Channel Router. Figures taken from S. Gerez, Algorithms for VLSI Design Automation, Wiley, 1998

Generation of Optimal Obstacle-avoiding Rectilinear Steiner Minimum Tree

Rectangular Partitioning

Layout DA (Physical Design)

Non-Rectangular Shaping and Sizing of Soft Modules for Floorplan Design Improvement

ICS 161 Algorithms Winter 1998 Final Exam. 1: out of 15. 2: out of 15. 3: out of 20. 4: out of 15. 5: out of 20. 6: out of 15.

Obstacle-Aware Longest-Path Routing with Parallel MILP Solvers

Theoretical Constraints on Multi-Dimensional Retiming Design Techniques

CAD Algorithms. Shortest Path

Coverage and Search Algorithms. Chapter 10

MULTI-NODE STATIC LOGIC IMPLICATIONS FOR REDUNDANCY IDENTIFICATION

Estimation of Wirelength

Approximation Algorithms for Geometric Intersection Graphs

Single Step Current Driven Routing of Multiterminal Signal Nets for Analog Applications *

CS 532: 3D Computer Vision 14 th Set of Notes

IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 27, NO. 11, NOVEMBER /$25.

Bottleneck Steiner Tree with Bounded Number of Steiner Vertices

Satisfiability Modulo Theory based Methodology for Floorplanning in VLSI Circuits

Alternate Algorithm for DSM Partitioning

Routing Tree Construction with Buffer Insertion under Buffer Location Constraints and Wiring Obstacles

A Hybrid Approach to CAM-Based Longest Prefix Matching for IP Route Lookup

Some Open Problems in Graph Theory and Computational Geometry

Graph Theory(Due with the Final Exam)

Fault-Tolerant Routing Algorithm in Meshes with Solid Faults

Non-Rectangular Shaping and Sizing of Soft Modules for Floorplan Design Improvement

Hierarchical Exact Symbolic Analysis of Large Analog Integrated Circuits By Symbolic Stamps

WEEK 1 CLASS NOTES AARON G. CASS

The Full Survey on The Euclidean Steiner Tree Problem

Autonomous and Mobile Robotics Prof. Giuseppe Oriolo. Motion Planning 1 Retraction and Cell Decomposition

Constructive floorplanning with a yield objective

Configurable Rectilinear Steiner Tree Construction for SoC and Nano Technologies

λ-oat: λ-geometry Obstacle-Avoiding Tree Construction With O(n log n) Complexity

(Refer Slide Time: 00:02:00)

Introduction VLSI PHYSICAL DESIGN AUTOMATION

a) wire i with width (Wi) b) lij C coupled lij wire j with width (Wj) (x,y) (u,v) (u,v) (x,y) upper wiring (u,v) (x,y) (u,v) (x,y) lower wiring dij

A Scalable and Accurate Rectilinear Steiner Minimal Tree Algorithm

Coverage and Search Algorithms. Chapter 10

Buffered Routing Tree Construction Under Buffer Placement Blockages

Approximating Fault-Tolerant Steiner Subgraphs in Heterogeneous Wireless Networks

A Storage Management for Mining Object Moving Patterns in Object Tracking Sensor Networks

An Efficient Rectilinear Steiner Minimum Tree Algorithm Based on Ant Colony Optimization*

Lecture 3: Art Gallery Problems and Polygon Triangulation

Systems of Equations and Inequalities. Copyright Cengage Learning. All rights reserved.

Computational Geometry

Layer Assignment for Reliable System-on-Package

WHAT YOU SHOULD LEARN

Three-Dimensional Orthogonal Graph Drawing with Optimal

c 2011 Yun Wei Chang

a. If an insect is a butterfly, then it has four wings b. Four angles are formed if two lines intersect

T. Biedl and B. Genc. 1 Introduction

G 6i try. On the Number of Minimal 1-Steiner Trees* Discrete Comput Geom 12:29-34 (1994)

An Enhanced Perturbing Algorithm for Floorplan Design Using the O-tree Representation*

Lecture 12: Grids Steven Skiena. skiena

Derrick Stolee. April 12,

IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 19, NO. 2, FEBRUARY

Robot Motion Planning Using Generalised Voronoi Diagrams

Manhattan or Non-Manhattan? - A Study of Alternative VLSI Routing Architectures

CS612 Algorithms for Electronic Design Automation

Fault-Tolerant Routing in Fault Blocks. Planarly Constructed. Dong Xiang, Jia-Guang Sun, Jie. and Krishnaiyan Thulasiraman. Abstract.

A Geometric Approach to the Bisection Method

Approximating Node-Weighted Multicast Trees in Wireless Ad-Hoc Networks

Roadmap Methods vs. Cell Decomposition in Robot Motion Planning

An Efficient Routing Tree Construction Algorithm with Buffer Insertion, Wire Sizing and Obstacle Considerations

Chapter 6 Detailed Routing

TCOM 501: Networking Theory & Fundamentals. Lecture 11 April 16, 2003 Prof. Yannis A. Korilis

Engineering Drawings Recognition Using a Case-based Approach

Workshop 2 in Minkowski Geometry: Conic sections Shadowing Euclidean and Minkowski Geometry

Mathematics Curriculum

Shift Invert Coding (SINV) for Low Power VLSI

6. Dicretization methods 6.1 The purpose of discretization

Critical Area Computation for Missing Material Defects in VLSI Circuits

Problem Set 3. MATH 778C, Spring 2009, Austin Mohr (with John Boozer) April 15, 2009

Transcription:

Proceedings of the th WSES Int. onf. on IRUITS, SYSTEMS, ELETRONIS, ONTROL & SIGNL PROESSING, allas, US, November 1-3, 2006 204 Efficient Rectilinear Steiner Tree onstruction with Rectangular Obstacles 1. Introduction Rectilinear Steiner Minimal Tree (RSMT) is one of the key problems in VLSI/ULSI physical design [1]. Given n points in a plane, a RSMT problem is to connect these points through some extra points called Steiner points to achieve a tree with minimal total wire length [2-4]. With the trend toward IPblock-based So design, the macro cells, such as memories, logic blocks, present in the design as obstacles and their shapes are generally rectangular. Thus, the problem of constructing rectilinear Steiner minimal tree with rectangular obstacles (RSMTRO) has brought attentions [1,6-9]. The RSMTRO problem can be stated as follows [9]. Let P={p 1,p 2,..,p m } be a set of pins for m pins net, ={b 1,b 2,...,b k } be a set of rectangular obstacles, and V={v 1,v 2,...,v n }=P {corners in } as the vertex set, where each v i has coordinates (x i,y i ). Note that each rectangular obstacle has four corners, we have n m+4k. For example, there are 4 pints (m=4), rectangular obstacles (k=), and 24 vertices (v=24). The input informations for both pins are obstacles are listed in Figures 1 and 1, respectively. Each pin is assigned with its coordination (x i,y i ), e.g., the pin is located at (2,6); and each Each obstacle is defined by two pairs of hin-long Wey epartment of Electrical Engineering National entral University hung-li, Taiwan E-mail: clwey@ee.ncu.edu.tw bstract: - Rectilinear Steiner Minimal Tree (RSMT) is one of the key problems in VLSI/ULSI physical design.with the trend toward IP-block-based So design, the macro cells, such as memories, logic blocks, present in the design as obstacles and their shapes are generally rectangular. The RSMTRO (rectilinear Steiner minimal tree with rectangular obstacles) problem is to connect all pins through some extra points (called Steiner points) to achieve a minimal total length, while avoiding the intersection with any rectangular obstacles in the design. This study presents an efficient RSMTRO algorithm. The algorithm consists of two step process: Path onstruction; and Path ssignment. set of assignment rules was derived for path assignment. The developed algorithm can efficiently provide RSMTRO solution with good quality. Key-words: Physical esign, Placement & Routine, IP-locks, Rectilinear Obstacles, Rectilinear Steiner Tree, Spanning Graph. points, i.e., the coordinates of the bottom-left and the top-right points of the obstacle, e.g., the two corners of obstacle 1 are (1,10) and (6,12), respectively. ased on the list of coordinates of pins nd obstacles, Figure 1 shows the layout. The RSMTRO problem is to connect all pins through some extra points (called Steiner points) to achieve a minimal total length, while avoiding the intersection with any rectangular obstacles in the design. 4 2 6 1 11 2 11 14 1 10 6 12 3 1 8 3 1 8 10 13 12 11 14 1 1 10 Existing heuristic algorithms for the RSMTRO problem can be classified into three categories [9]: (1) Maze routing; (2) Sequential approach; and (3) onnection graph based algorithm. Maze routing [] can optimally route two pin nets, for multi-pin nets, it is inefficient in terms of run time and mem- 1 2 3 0 10 1 Figure 1: Example: Pins; Obstacles; and Layout of both Pins and Obstacles. 4

Proceedings of the th WSES Int. onf. on IRUITS, SYSTEMS, ELETRONIS, ONTROL & SIGNL PROESSING, allas, US, November 1-3, 2006 20 ory. The sequential approach consists of two steps. It first constructs either a minimal spanning tree or a Steiner minimal tree with absence of obstacles. The second stes to apply the simple line sweep technique to substitute edges around the obstacles for the edges overlapped by the obstacles. complicated 4-process heuristics wad proposed in [1] to improve the overlap removal. Finally, the third category constructs a connection graph by the pins and obstacle boundaries. It guarantees that ate least one rectilinear Steiner minimal tree is embedded in the graph. Then, it uses graph searching technique to improve the resultant interconnections. Recently, an efficient spanning graph based approach has been proposed [9] to provide the RSMTRO solution with good quality. The approach containing only O(n) vertices and O(n) edges, is much smaller than any previous connection graph approaches. The spanning graph construction takes (n long n) time and memory usage. However, the construction of spanning graph can be simplified to reduce the time complexity of the RSMTRO problem. This motivated the development presented in this study. In the next section, the spanning graph based approach in [9] is first briefly reviewed. Section 3 presents the developed algorithm for RSMTRO problem. Finally, a concluding remark is given in Section 4. 2. ackground For the RSMTRO problem, we assume that any two of the rectangular obstacles will not overlap with each other, but two obstacles could be pointtouched at the corner or line-touched at the boundary. The resultant interconnection segments are allowed to touch obstacles, as shown in Figure 2. Figure 2: Interconnections with Rectangular Obstacles: Not llowed; and llowed. complete spanning graph, as shown in Figure 3, is first constructed in [9]. The approach employs an efficient way to reduce the searching time. More specifically, each rectangular obstacle has four corners, S i1, S i2, S i3, and S i4, as shown in Figure 3, and it is partitioned into eight neighbors, R 1, R 2,..., R 8. Each corner takes only 3 neighboring search regions which are adjacent to this corner. For example, R 8, R 1, and R 2 are the three neighboring search regions for the corner S i1 ; and R 4, R, and R 6 are those for the corner S i3. Each pin has four neighboring search regions, Q 1, Q 2, Q 3, and Q 4. 14 1 20 1 19 (e) ased on the complete spanning graph, the shortest paths between any two pins and their distances are derived as shown in Figure 3. For example, a shortest distance of 14 is resulted between pins and without intersecting the obstacles. ased on the graph representation in Figure 3, a minimal spanning tree is derived in Figure 3(d) with a minimal total distance of 38. Selecting the needed paths, the corresponding spanning tress is given in Figure 3(e). Figure 3 provides the final RSMTRO solution. In that approach, a complete minimal spanning graph must be constructed initially. The approach also needs to construct the shortest paths for all possible two-pin pairs and calculate their distances, where there are [(m 2 -m)/2] pairs. 14 S i2 R 2 S i1 R 3 R 1 1 Q 2 Q 1 R 4 R S i3 R 6 S i4 R 8 Q 3 P Q 4 (d) Figure 3. Spanning Graph ased pproach: omplete Spanning Tree for Example in Figure 1; Searching Regions; omplete onnected Graph; (d) Minimal onnection Tree; and (e)& The RSMTRO Solution. R

Proceedings of the th WSES Int. onf. on IRUITS, SYSTEMS, ELETRONIS, ONTROL & SIGNL PROESSING, allas, US, November 1-3, 2006 206 In fact, the calculated distances in the complete connected graph, in Figure 3, can be represented by a distance table shown in Figure 4. simple greedy approach can be adopted to select those pairs with the minimal total length. For instance, in the distance table, the pair (,) with the minimal distance,, is first selected, hence, the pin set of the connected graph includes {,}. y eliminating the pair (,), the pair (,) with a distance of 14 is then selected. This results that the pin set is updated as {,,}. Now, the only pin left out is, as shown in Figure 4. mong the pairs (,), (,), and (,), the pair (,) with a distance of 1 is therefore selected. The final connected graph has been shown in Figure 3(d). 12 13 1 19 12 Figure 4: Pair Selection: istance Table; and onnected Graph. pparently, we need only construct the paths for those three pairs if we were able to identify them. s such, we really don t need to waste the computing time for constructing the complete spanning graph for those unwanted paths. 3. evelopment The developed approach consists of two processes: Path onstruction; and Path ssignment. The former process constructs a connection graph with a minimal total length, while the latter derives the final RSMTRO solution. For the Path onstruction process, we first build a distance table which records the shortest distance between any two pins without obstacles, as shown in Figure. Let =(x i,y i ) and p j = (x j,y j ) be any two pins, the distance is defined as d(,p j )= x i -x j + y i -y j. Prior to building the distance table, the given pins are first sorted if they are not in an ascending order. More specifically, all pins are first sorted by their x coordinates in an ascending order. However, if two pins have the same x coordinates, then they are sorted by their y coordinates in an ascending order. The sorting process is important for reducing searching time. Our goal is to construct a connection graph 14 1 with the minimal total length in the presence of obstacles. Note that the distance d(,p j ) is a half of the perimeter of a rectangle which takes the points and p j as either the diagonal or off-diagonal corners, as shown in Figure. The rectangle may become a line segment if either x i =x j or y i =y j. The rectangle has two paths traveling from to p j in the absence of obstacles, and they may or may not intersect the obstacle(s). efinition 1: (Essential Pair) pin-pair (,p j ) is referred to as essential if at least one path in the rectangle does not intersect any obstacles. Otherwise, the pair is non-essential. path of the rectangle corresponding to the pair (p 3,p 4 ), in Figure, does not intersect the obstacle, thus it is an essential pair. On the other hand, both paths of the rectangle corresponding to (p 1,p 2 ) intersect an obstacle. Even though a path of the rectangle corresponding to (p 1,p ) does not intersect the obstacle in the right-hand side, the other path intersects the other obstacle. Thus, both pairs (p 3,p 4 ) and (p 1,p ) are non-essential. In Figure 1, there exists only one essential pair, i.e., (,) with a minimal distance of units, and it is marked by a circle in Figure. Observation 1: In both cases that the presence and absence of obstacles, the connected path of an essential pair has the same minimal distance. The minimal distance of the connected path for a non-essential pair in the presence of obstacles is always greater than or equal to that without obstacles. efinition 2: (MS-pair) n essential pair with the minimal distance is referred to as must-be-selected (MS) pair. If the available MS-pairs are sufficient to construct a connected graph, then it is a RSMTRO solution with the minimal total length. In this case, no spanning graph is needed. Or, if the available MS-pairs are sufficient to construct some subgraph with the minimal total length among the pins it covers. Then, the subgraphs then become a super pins for the problem. In that case, the program complexity is reduced significantly. From the distance table in Figure, the pair (,) with a distance of is the only essential pair and

Proceedings of the th WSES Int. onf. on IRUITS, SYSTEMS, ELETRONIS, ONTROL & SIGNL PROESSING, allas, US, November 1-3, 2006 20 thus it is also a MS-pair. The relationship among pins and distance table can be represented as in Figure. Our goal is to derive a connected graph which covers all pins with the minimal total length. greedy algorithm is attempted in this study, a minimal graph as shown in Figure (d). The MS-pair is automatically selected, and two other pairs with the minimal distance of 12 are also selected, where four pins are covered completely. Note that the distances in Figure were calculated without considering the obstacles, they are not the actual distances. However, the distances for the essential pairs are the actual values. Therefore, we must calculate the actual distance of both pairs (,) and (,). 1 10 12 12 13 1 19 12 p p 2 p 4 v d 1 13 19 v a v b v c ve 12 0 10 1 simple segment search approach is developed for constructing the shortest path. asically, we only search the corners lie on the shortest path between both pins and mark those corners, as shown in Figure (d). Thus, we only store the data for those connected corners. The shortest path for (,) will pass through the corners V a (6,12), V b (6,10), V c (,8), and V d (3,8). Therefore, we only record the coordinates (in sequence): {,V a,v b,v c,v d,} and its distance of 14. Similarly, the shortest path for (,) is also constructed. The path information includes {, p 1 (g) Figure. Path onstruction: istance Table (Without Obstacles); Essential/non-essential Pairs; -(e) Minimal Graph; Path onstruction; and (g) omplete Path onstruction. p 3 13 12 12 14 (d) (e) (10,13),(10,),(,),(,3),(11,2)} and a distance of 20. The connected graph in Figure (d) is comprised of three segments with the distances of, 14, and 20, respectively. The total distance is 41. The next stes check if quality improvement is possible. If the distances of all the remaining pairs in the distance table are larger than or equal to the maximal distance in the current connected graph, then no improvement can be resulted. The connected graph is then completed. Otherwise, some pairs must be tried. For instance, the maximal total distance of the current connected graph in Figure (d) is 20, where the remaining pairs,,, and, have smaller distance. Thus, we will first try the pair (,) to replace (,). Similarly, the shortest path for the pair (,) is constructed with following information: {(10, 2),(,3),(,),(,8),(3,8),(2,6)} and a distance of 1. In other words, the current connected graph containing 3 pairs, (,), (,), (,), have the distances of, 14, and 1, respectively, or a total distance of 38. Since the maximal distance of the current graph is 1 which is smaller than or equal to the remaining pairs in the distance table. The current graph, as shown in Figure 4, with a distance of 38 is the solution. The graph construction process is then terminated. In summary, the path construction process starts with building up the distance table without consideration of the obstacles. ased on the given distances, a greedy algorithm is applied to derive an initial graph which covers all pins. The quality of the solution is improved progressively. For the Phase ssignment process, a number of assignment rules are given in Figure 6. The connected graph in Figure (g) is converted as the final RSMTRO solution with Steiner nodes in Figure 3. More specifically, let dots and squares represent the pins and vertices in Figure 6, respectively. onsider the pin and vertex v a, there exist two paths from to v a, namely, right-down path and down-right path. If the next vertex to be connected is v 3, as shown in Figure 6, we will select the right-down path from v 1 to v 2. On the other hand, if the next vertex v 4 to be connected is shown in Figure 6, the down-right path is selected for the path from v 1 to v 2. Therefore, in Figure 6, the right-down path is selected for (v a, ) and the up-right path is selected for (,v b ),

Proceedings of the th WSES Int. onf. on IRUITS, SYSTEMS, ELETRONIS, ONTROL & SIGNL PROESSING, allas, US, November 1-3, 2006 208 as shown in Figure 6(d). Similarly, for the cases in Figures 6(e)-6(g), the path assignments are shown. v 4 v 1 v 1 Figure 6. Path ssignment: Pin to Marked Points; & ssign Rules; (d) Final ssignment; and (e)-(g) More ssign Rules. onsider the path from to in Figure, based on the rule in Figure 6(e), the path including the vertices, v d, and v c are assigned as a upright-directed path, as illustrated in Figure 3. y the same rule, the vertices v c and v b are assigned by a right-up-directed graph. Finally, the vertices v b, v a, and are assigned by a right-downdirected path. Similarly, the remaining shortest paths contributing to the connected graph can be assigned as shown in Figure 3. In summary, based on the distance calculation, the minimal total distance is 38. However, based on the developed path assignment process, with two Steiner points, the total length is 30, as shown in Figure 3. 4. onclusions This paper presents an efficient connected graph based approach for the RSMTRO problem. The algorithm is comprised of two steps: Path construction; and Path assignment. The time-consuming process for constructing the spanning graph is simplified considerably. The algorithm has been implemented in language. number of benchmark examples have been tested at the time of this writing. The test results are very promising. However, there are number of implementation issues must be addressed in the future. For example: (1) deriving more assignment rules so that v 3 v 2 v a a v b v b (e) v 2 (g) (d) more paths can be shared to reduce the total wire length; (2) a heuristic algorithm is being developed to replace the greedy algorithm for better quality. References 1. Y. Yang, Q. Zho, T. Jing, X. Hong, and Y. Wang, "Rectilinear Steiner tress among obstacles," Proc. th International onference on SI, pp.348-31, October 2003. 2. P. K. garwal and M. I. Shing, "lgorithms for the special cases of rectilinear Steiner trees: I. Points on the boundary of a rectilinear rectangle. Networks, 20:43-48, 1990. 3... Kahng and G. Robins, " new class of iterative Steiner tree heuristics with good performance," IEEE Trans. on, Vol.11, pp.1462-146, 1992. 4. M. orch, R.M. Owens, and M.J. Irwin, " fast and simple Steiner routing heuristic," Springer-Verlag Lecture Notes in omputer Science (62), pp.33-42, 1993...Y. Lee, n lgorithm for path connections and its applications, IRE Trans. on Electronic omputers, Vol.10, pp.346-36,1961. 6.. hiang, M. Sarrafzadeh, and. K. Wong. n algorithm for exact rectilinear Steiner trees for switchbox with obstacles. IEEE Trans. on ircuits and Systems, Vol. 39, pp.446-4, 1992.. J.Ganley and J.P.ohoon, "Routing a multiterminal critical net: Stiener Tree onstruction in the presence of obstacles," Proc. International Symp. on ircuits and Systems, Vol.1, pp.113-116, 1994. 8. J. Liu, Y. Zhao, E. Shragowitz, and George Karypis, " polynomial time approximation scheme for rectilinear Steiner minimum tree construction in the presence of obstacles," Proc. International onference on Electronics, ircuits, and Systems (IES), pp.81-84, 2002. 9. Z. Shen,..N. hu, and Y.-M. Li, "Efficient rectilinear Steiner tree construction with rectilinear blockages," Proc. International onference on omputer esign, Oct. 200.