A Multi-Layer Router Utilizing Over-Cell Areas
|
|
- Katrina Roberts
- 6 years ago
- Views:
Transcription
1 A Multi-Layer Router Utilizing Over-Cell Areas Evagelos Katsadas and Edwin h e n Department of Electrical Engineering University of Rochester Rochester, New York ABSTRACT A new methodology is presented for the solution of the multilayer routing problem that has the potential to outperform channel based multi-layer routing algorithms by expanding the routing regions to include areas over the cells. It is assumed that four routing layers are available. Routing is completed in two steps; a selected group of nets is routed in the between-cell areas using existing channel routing algorithms and the first two routing layers. Then the remaining nets are routed over the entire layout area, between-cell and over-cell areas, using a new twodimensional router and the next two routing layers. The router used for over-cell routing recognizes arbitrarily sized obstacles, for example, due to power and ground routing or sensitive circuits in the underlying cells. The proposed router was tested on a number of macro-cell layout examples. Advantages of dedicating two routing layers for over-cell routing is illustrated. Results show a significant reduction in total layout area, wire length and number of vias when compared to results obtained using two-layer or multi-layer channel routing methods. 1. INTRODUCTION The demand for smaller and faster designs and the reality that conventional two-layer routing technologies may have reached their limits have forced designers to consider alternative ways to obtain further improvements in routing. The use of additional routing layers appears to be a promising way to achieve this goal. While a number of algorithms have been suggested, attention has been directed to the use of the additional routing layers in channel areas and the development of modified channel routing algorithms. Chen and Liu [I] presented a three-layer channel router based on the net merging method used by Yoshimura and Kuh [2]. Cong, et QZ [3], allowed the use of three or four layers and resolved vertical constraints by track permutations, local rerouting and the insertion of empty tracks. Bruell and Sun [4] developed a modified greedy channel router for three layers based on the algorithm of Rivest and Fiduccia [5]. Braun, et a1 [6], implemented a multi-layer channel router, Chameleon, based on a strategy of decomposing the multi-layer routing problem into two or three layer problems in which one of the layers is reserved primarily for vertical wire runs and the other layer(s) for horizontal runs. Greenberg and Sangiovanni-Vincentelli [7], presented Mulch, an extension of Chameleon that routes channels with any number of layers and automatically chooses a good assignment of wiring strategies to the different layers. Other multilayer routing algorithms have been proposed by Enbody and Du [8], and Hambrusch [9]. These reported multi-layer channel routing schemes claim reductions in channel width that approach 50% of the number of tracks required by a conventional two-layer channel routing algorithm. However, the reduction in the number of tracks caused by the additional routing layers does not necessarily result to a similar reduction in the channel area due to the design rules imposed by the fabrication process of these layers. As more metal layers are added, the linewidth of the wires and the size of the vias increase; thus, even if a channel can be routed with fewer tracks, the actual routing area may not be significantly smaller from the two layer solution. Channel based multi-layer algorithms also tend to generate wires running parallel, one on top of the other, over relatively long distances, creating capacitive coupling that can cause severe cross-talk problems. The proposed procedure is based upon a different solution to the multi-layer routing problem, one that can exploit more efficiently the freedom offered by the additional routing layers. For descriptive convenience, it is assumed that: (1) metal1 and metal2 layers are used for the interconnections within the macro-cells; and (2) two additional metal layers, metal3 and metal4, are available that can be used to run wire paths over macro-cells without violating the design rules. The proposed router completes the routing of the layout using a two level design process. At the first level, level A, a subset of the interconnections is routed in channel areas using the first two metal layers; global and detailed routing can be performed using existing channel routing packages. Then, at level B, the remaining interconnections are routed over the entire layout area, between-cell and over-cell areas, using metal3 and metal4 layers. An efficient algorithm for the two dimensional routing problem at level B is presented that avoids over-cell regions representing obstacles due to user selection or design rules. For example, if a limited use of metal3 and metal4 is allowed inside the macro-cells, these wire segments become obstacles for the over-cell routing. Obstacles may also represent user specified areas that need to be excluded from over-cell routing to avoid capacitive coupling with sensitive circuits in the underlying macro-cells. The paper is organized as follows. Section 2 discusses net partitioning and level A routing. The differences between level A and level B routing and the proposed algorithm for level B routing are described in Section 3. Section 4 presents experimental results obtained applying the proposed router to three layout examples. Finally, Section 5 contains concluding remarks. 2. NET PARTITIONING AND LEVEL A ROUTING The set of network interconnections is initially partitioned into two sets, A and B. Nets in set A will be routed in channel ar th ACMllEEE Design Automation Conference@ 1990 IEEE X/90/0006/0704 $1.OO
2 eas between macro-cells and nets in set B will be routed over the entire layout area, the combined between-cell and overcell areas. Control of propagation delays may dictate this net partitioning process such that local interconnections are included in set A, while long distance interconnections are routed in level B using wider lines to yield shorter propagation delays. Alternatively, either set A or set B may be used exclusively for control nets, critical nets, or power and ground nets. If total layout area is a priority. layout area allocated for channels can be controlled through the net partitioning process. The two set of nets are considered as independent routing problems each govemed by its own design rules. This is achieved by assigning entire nets to each set and by not allowing multiterminal nets to be assigned in part to both sets. Thus, all twoterminal partitions of a multi-terminal net are routed using the same set of routing layers, and only finial connections to net terminals are allowed to pass through intervening routing layers. There are two advantages to this net partitioning scheme. First, no extra routing space is required for the net terminal connections since the design of net terminals can usually accommodate the design rules governing the size of vias for the four routing layers used. Second, no obstacles are created in level A routing caused by connections from level B nets to metall and metal2, since these connections only occur at net terminal locations, that is, in areas that would be obstacles in level A routing anyway. Furthermore, reflection problems in high speed designs caused by discontinuities existing in vias connecting wire segments routed in routing layers with different linewidths are minimized. Level A routing can be performed using existing channel routing algorithms. After completion of level A routing, the final dimensions of the layout and the location of the net terminals are known. Subsequent level B routing is performed on this fixed topology. 3. LEVEL B ROUTING Nets in set B are routed over the entire layout area with the exception of areas that represent obstacles. Since net terminal positions and the final layout dimensions are known at the beginning of level B routing, there are significant differences between level A and level B routing that need to be accommodated by the level B routing algorithm. The solution space for the level A routing problem is defined by the relative placement of the macro-cells and the resulting channels. The router divides the routing problem into several channel routing problems which are then solved separately. Channel dimensions are flexible and net terminal locations are not defined rigidly in space since they can move following any channel expansion. Each channel problem can be considered as an one-dimension routing problem. In contrast, net terminal locations and the boundaries of the layout define the solution space in the level B routing problem. Obstacles in the layout may exist due to specific features of the underlying circuits or power and ground routing. However, the size and shape of these obstacles do not correspond to those that exist in level A routing. Partitioning the solution space may be restrictive, that is,' the algorithm should consider the entire solution space. Level B is a two-dimension routing problem and a number of algorithms have been proposed to solve its many variations [ However, the specific characteristics of the level B routing problem, the size of the solution space, the existence of routing obstacles and the locations of net terminals, suggests that a more efficient two-dimensional router can be constructed. The proposed router adopts a different representation for the solution space of the routing problem that results in faster completion of the interconnections on the average when compared to maze type algorithms. The proposed two-dimensional routing algorithm uses a grid model representation of the layout. The routing surface is characterized by an array of rectangular cells defied by horizontal and vertical routing tracks that can have different spacing. The algorithm is based on a breadth fnst search through an unweighted, undirected graph that represents the routing solution space. The vertices in this graph represent routing tracks and the edges represent track intersections that can be used for routing. The quality of the resulting routing is measured in terms of total number of net directional changes and total wire length. The level B routing algorithm processes the nets serially. The algorithm starts with the definition of routing tracks and the assignment of a pair of horizontal and vertical tracks to each net terminal. Net ordering is accomplished using a longest distance criterion. The option of a user specified ordering criterion, such as net criticality, can be exercised. A path searching procedure, done for each two-terminal connection using a modified breadth first search, finds a set of possible paths with the minimum number of comers. The choice of the best path is based on path length and the likelihood of blocking nets not yet routed. A description of the method used for path searching and path selection, and the time and space requirements for level B routing follows Path Searching The solution space for level B routing is represented by an undirected bipartite graph G = (V,E) called Track Intersection Graph. The set of vertices V consists of two mutually exclusive subsets V, and V,, where each vi E VI represents a vertical routing track and each vj E V, represents an horizontal routing track. The edges ei = (vi,vj) E E, correspond to the intersection of a vertical with an horizontal track that can be used for routing. An example of level B routing and its Track Intersection Graph is shown in Figure 1. hl h2 h3 Figure 1: Instance of level B routing and its Track Intersection Graph representation. 705
3 Path searching is accomplished using a modified breadth first search (MBFS) algorithm. A path consists of a sequence of alternating horizontal and vertical track segments. For each twoterminal connection. all possible paths with the minimum number of comers are found, with the exception of a special class of paths that is described later. The solution space for each MBFS is defined by the terminal locations of the interconnection to be realized. The path searching procedure for net B is illustrated in Figure 1. In this example, nets A and C are already connected, and 0, represents a possible obstacle for level B routing. Each net terminal is represented by one edge from the Track Intersection Graph; for net B one terminal is represented by the edge (h2,v2) and the other terminal by the edge (h4,vs). Two modified breadth first searches are performed starting from one of the two terminals. The solution space for each MBFS is defied by the locations of the two net terminals within a rectangular region, such as I n, and a source vertex and two target vertices are identified. The first MBFS starts from vertex v2 and has as targets the vertices v6 and h4; the second MBFS starts from vertex h2 and has the same targets as the fist one. Two Path Selection Trees are created during the search procedure, as shown in Figue 2. These are used later for the selection of the best path for the interconnection. During the MBFS for possible paths, each vertex is examined exactly once with the exception of the target vertices. This results in the exclusion of paths requiring more than one comer on the same track, a restriction that improves the quality of the routing and significantly increases the speed of the algorithm. For this example, three possible paths can be identified one path (v2,h4.v6) from the MBFS that started from vertex v2, and two paths (h2.v3.h4,v6) and (hz,vs,h,,v6) from the MBFS that started from vertex h,. The first path is selected because it requires only one comer while the other two paths required two comers. No further path selection is necessary for this example since only one path with a minimum number of comers is detected Path Selection The Path Selection Trees created during the path searching procedure are used to select the best path for the completion of the interconnection when multiple paths with the same number of directional changes are identified. This is done by proper edge weighting of the Path Selection Trees where the wire length and the likelihood of blocking nets yet to be routed are considered. Edges associated with grid points close to unrouted net terminals and used grid points are weighted high, while edges associated with grid points located in empty routing regions are weighted low. A backtracking technique, that is a depth first search with bounding functions, is used to select the best path. The path selected over the set of paths with minimum number of comers k is the one that minimizes the cost function : k C = wl*wl+ Bw2pdrg; + wz2*dupi + W ~~*~C$) ;=I where, wl = wire length of the path under consideration, drgj = measure of the proximity of comer j to routed dup, = grid points, measure of the proximity of comer j to unrouted net terminals, acfi = the area congestion factor of comer j. The fust term of the objective function controls the total wire length while the second term controls the distribution of wiring segments to avoid blocking unrouted nets. Additional terms can be included in the cost function for nets with special constraints, for example, to prevent parallel routing of sensitive nets. The weights wl,wzl, w22 and ~ 2may 3 be used to customize the selection process to the specific needs of the level B routing problem. Experiments showed, that for routing problems with sparse net distributions it is sufficient to balance the effect of the two terms of the objective function by setting wl=l and w2l=w22=w23 =ID. For routing problems with dense net distributions the second term of the objective function should be weighted more to reduce the possibility of blocking unrouted nets. Figure 2: Path Selection Trees for net B. & Edge weighting in the proposed level B routing algorithm is limited to the Path Selection Trees which are considerably smaller than the entire Track Intersection Graph. This allows the use of more complicated edge weighting schemes that minimize the effect of the order dependency of the algorithm due to the serial processing of the nets. 33. Multi-terminal nets. Multi-terminal nets are routed using a suboptimal algorithm that approximates a rectilinear Steiner tree. The set of terminals belonging to a given multi-terminal net define a vertex set P. Based on the grid model representation of the level B solution space, the vertex set N is defmed as the set of all grid points in the layout that can be used for routing. The rectilinear Steiner tree (RST) for a given set P is a minimum length tree that interconnects all the vertices of set P possibly using one or more vertices from the set N-P, the Steiner points, and a rectilinear distance metric. The problem of constructing the minimum cost RST, known to be NP-complete [ 141. has been studied extensively and many heuristic algorithms have been proposed [ 14-18]. A new heuristic algorithm that approximates the rectilinear Steiner tree was developed based on Prim's algorithm for constructing a minimum spanning tree [19]. Prim's algorithm enlarges a component of the output tree by adding one vertex at a time. The vertex selected is the one with the minimum distance from all vertices of the output component. The new algorithm enlarges the output component by adding a vertex with minimum distance not only from vertices from set P that already belong to the output component but also from Steiner points that belong to the output component. The vertex selected is then connected to the 706
4 set P vertex or Steiner point to which it is closest. The algorithm continues until all vertices belonging to set P have been processed Time and Space Complexity of Level B Routing Algorithm The storage requirement of the proposed algorithm is O(hv) where h and v are the numbers of the horizontal and vertical tracks, essentially the storage requirements of the Track Intersection Graph. Information associated with the Track Intersection Graph is stored in a two-dimensional array which is updated after the completion of each two-terminal connection. This involves an operation of O(t), where t = max(h,v). The time complexity of the level B routing algorithm is O(nhv), where n is the total number of two-terminal connections required Example 4-Layer 4-Layer Over- Channel Router Cell Router Area Area ami33 2,261,480 1,874,880 Xerox ,148 21,101,200 ex3 3,548,475 3,061,635 Percent Reduction in Layout Area EXPERIMENTAL RESULTS The program that implements the described multi-layer routing methodology was developed in the C programming language and runs under SunOS Three examples of macro-cell layouts were tested with the new multi-layer router. The fmt two examples, Xerox and ami33, were presented recently as benchmarks for comparisons [20]; the third example, ex3, is from an industrial macro-cell chip. Table 1 has information for each example tested. The same net partitioning scheme was used in all three examples; critical nets and timing nets were routed in level A, while all other nets were routed in level B. The number of nets routed in level A and the average number of pins per net were 4 (44.25) for ami33, 21 (9.19) for Xerox, and 56 (3.23) for ex3. The performance of the proposed multi-layer routing methodology compared to the performance of a two-layer channel routing methodology is given in Table 2. The comparisons were based on overall layout area, total wire length and total number of vias. For the three examples tested, a significant reduction in all three metrics is observed. The level B routing of example ami33 is shown in Figure CONCLUDING REMARKS Current integrated circuit technology allows the use of several layers of interconnect to provide more degrees of freedom for solving area and performance optimizing routing problems. To take advantage of this, a new methodology for multi-layer routing has been described that relaxes the constraint of routing interconnections only in channel areas. The proposed router was used for three test examples, yielding significant reductions in overall layout area, wire length and number of vias. During level B routing, the router accommodates routing obstacles and also allows the user to influence path selection through appropriate edge weighting of the Path Selection Trees. The user has control of the overall layout area through the partitioning of the interconnections into sets A and B. If layout area optimization is the priority, channel areas can be eliminated and the entire set of interconnections can be routed in level B. assuming that the solution space for level B routing guarantees 100% routing completion. Table 1: Information about the three layout examples. Example ami33 Xerox ex3 Layout Area Wire Length Vias Table 2: Percent reductions for the proposed multi-layer router over a two-layer channel router. A comparison of the proposed multi-layer router with multilayer channel routers was attempted. Since no complete multilayer channel routing package was available, the comparison is based only on overall layout area and the optimistic assumption that a multi-layer channel routing algorithm would reduce the channel area requirements by 50% over the channel area requirements of a two-layer channel routing algorithm. As shown in Table 3, a further reduction in the overall layout area is REFERENCES Y. K. Chen and M. L. Liu. 'Three-layer channel routing," IEEE Transactions on Computer-Aided Design, vol. CAD- 3, no. 2, pp , T. Yoshimura and E. S. Kuh, "Efficient algorithms for channel routing," IEEE Transactions on Computer-Aided Design, vol. CAD-1, no. 1, pp , J. Cong, D. F. Wong, and C. L. Liu, "A new approach to three- or four-layer channel routing," IEEE Transactions on Computer-Aided Design, vol. CAD-7, no. 10, pp ,1988. P. Bruell and P. Sun, "A'greedy' three layer channel router," in Proc. IEEE Intern. Conf. on Computer-Aided Design, 1985, pp R. L. Rivest and C. M. Fiduccia, "A 'greedy' channel router," in hoc. 19th Design Automation Conference, 1982, pp D. Braun et al., "Techniques for multilayer routing," IEEE Transactions on Computer-Aided Design, vol. CAD-7, no. 6, pp , R. I. Greenberg and A. L. Sangiovanni-Vincentelli, "Mulch: A multi-layer router using one, two, and tree layer partitions," in Proc. IEEE Intern. Conf. on Computer-Aided Design, 1988, pp
5 R. J. Enbody and H. C. Du, "Near optimal n-layer channel routing." in Proc. 23rd Design Automation Conference, 1986, pp S. E. Hambrusch, "Channel routing algorithms for overlap models," IEEE Transactions on Computer-Aided Design, vol. CAD-4. pp C. Y. Lee, "An algorithm.for path connections and its applications," IRE Transactions on Electronic Computers, vol. EC-10, pp , K. J. Supowit. "A minimum-impact routing algorithm," in Proc. 19th Design Automation Conference, 1982, pp C. Hsu, "A new two-dimensional routing algorithm," in Proc. 19th Design Automation Conference. 1982, pp M. Marek-Sadowska, 'Two-dimensional router for double layer layout," in Proc. 22nd Design Automation Conference, 1985, pp M. R. Garey and D. S. Johnson, 'The rectilinear Steiner tree problem is NP-complete," SIAM Journal of Applied Mathematics. vol. 32, no. 3, pp F. K. Hwang, "An O(nlogn) algorithm for rectilinear minimal spanning trees," Journal of the Association for Computing Machinery, vol. 26, no. 2, pp , J. H. Lee, N. K. Bose, and F. K. Hwang, "Use of Steiner's problem in suboptimal routing in rectilinear metric," IEEE Transactions on Circuits and Systems, vol. CAS-23, no. 7, pp ,1976. K. Lee and C. Sechen, "A new global router for row-based layout," in Proc. IEEE Intern. Con$ on Computer-Aided Design, 1988, pp J. Ho. G. Vijayan, and C. K. Wong, "New algorithms for the rectilinear Steiner tree problem." IEEE Transactions OR Computer-Aided Design, vol. 9, no. 2, pp , R. C. Prim, "Shortest connection networks and some generalizations," Bell System Technical Journal, vol. 36, no. 6, p ~ , B. Reas, "Benchmarks for cell-based layouts," in Roc. 24th ACMIIEEE Design Automation Conference, 1987, pp Figure 3: Level B routing of layout example ami
Multilayer Routing on Multichip Modules
Multilayer Routing on Multichip Modules ECE 1387F CAD for Digital Circuit Synthesis and Layout Professor Rose Friday, December 24, 1999. David Tam (2332 words, not counting title page and reference section)
More informationUnit 7: Maze (Area) and Global Routing
Unit 7: Maze (Area) and Global Routing Course contents Routing basics Maze (area) routing Global routing Readings Chapters 9.1, 9.2, 9.5 Filling Unit 7 1 Routing Unit 7 2 Routing Constraints 100% routing
More informationBasic Idea. The routing problem is typically solved using a twostep
Global Routing Basic Idea The routing problem is typically solved using a twostep approach: Global Routing Define the routing regions. Generate a tentative route for each net. Each net is assigned to a
More informationGenerating More Compactable Channel Routing Solutions 1
Generating More Compactable Channel Routing Solutions 1 Jingsheng Cong Department of Computer Science University of Illinois, Urbana, IL 61801 D. F. Wong Department of Computer Science University of Texas,
More informationRouting. Robust Channel Router. Figures taken from S. Gerez, Algorithms for VLSI Design Automation, Wiley, 1998
Routing Robust Channel Router Figures taken from S. Gerez, Algorithms for VLSI Design Automation, Wiley, 1998 Channel Routing Algorithms Previous algorithms we considered only work when one of the types
More informationECE260B CSE241A Winter Routing
ECE260B CSE241A Winter 2005 Routing Website: / courses/ ece260bw05 ECE 260B CSE 241A Routing 1 Slides courtesy of Prof. Andrew B. Kahng Physical Design Flow Input Floorplanning Read Netlist Floorplanning
More informationProblem Formulation. Specialized algorithms are required for clock (and power nets) due to strict specifications for routing such nets.
Clock Routing Problem Formulation Specialized algorithms are required for clock (and power nets) due to strict specifications for routing such nets. Better to develop specialized routers for these nets.
More informationGraph Models for Global Routing: Grid Graph
Graph Models for Global Routing: Grid Graph Each cell is represented by a vertex. Two vertices are joined by an edge if the corresponding cells are adjacent to each other. The occupied cells are represented
More informationSingle Step Current Driven Routing of Multiterminal Signal Nets for Analog Applications *
Single Step Current Driven Routing of Multiterminal Signal Nets for Analog Applications * Thorsten Adler Infineon Technologies AG Thorsten.Adler@infineon.com Erich Barke Institute of Microelectronic Systems
More informationLayout DA (Physical Design)
Layout DA (Physical Design) n Floor Planning n Placement and Partitioning n Global Routing n Routing n Layout Compaction 1 Routing n Types of Local Routing Problems n Area Routing u Lee s Algorithm n Channel
More informationChapter 5 Global Routing
Chapter 5 Global Routing 5. Introduction 5.2 Terminology and Definitions 5.3 Optimization Goals 5. Representations of Routing Regions 5.5 The Global Routing Flow 5.6 Single-Net Routing 5.6. Rectilinear
More informationCS612 Algorithms for Electronic Design Automation. Global Routing
CS612 Algorithms for Electronic Design Automation Global Routing Mustafa Ozdal CS 612 Lecture 7 Mustafa Ozdal Computer Engineering Department, Bilkent University 1 MOST SLIDES ARE FROM THE BOOK: MODIFICATIONS
More informationICS 252 Introduction to Computer Design
ICS 252 Introduction to Computer Design Lecture 16 Eli Bozorgzadeh Computer Science Department-UCI References and Copyright Textbooks referred (none required) [Mic94] G. De Micheli Synthesis and Optimization
More informationEfficient Rectilinear Steiner Tree Construction with Rectangular Obstacles
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
More informationEstimation of Wirelength
Placement The process of arranging the circuit components on a layout surface. Inputs: A set of fixed modules, a netlist. Goal: Find the best position for each module on the chip according to appropriate
More informationVLSI Physical Design: From Graph Partitioning to Timing Closure
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 5 Global Routing Original uthors: ndrew. Kahng, Jens, Igor L. Markov, Jin Hu VLSI Physical Design: From Graph Partitioning to Timing
More informationVLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter 5 Global Routing Original uthors: ndrew. Kahng, Jens, Igor L. Markov, Jin Hu Chapter 5 Global Routing 5. Introduction 5.2 Terminology and Definitions 5.3 Optimization Goals 5. Representations of
More informationMulCh: a Multi-layer Channel Router using One, Two, and Three Layer Partitions
Loyola University Chicago Loyola ecommons Computer Science: Faculty Publications and Other Works Faculty Publications 11-1988 MulCh: a Multi-layer Channel Router using One, Two, and Three Layer Partitions
More informationPlanning for Local Net Congestion in Global Routing
Planning for Local Net Congestion in Global Routing Hamid Shojaei, Azadeh Davoodi, and Jeffrey Linderoth* Department of Electrical and Computer Engineering *Department of Industrial and Systems Engineering
More informationIntroduction. A very important step in physical design cycle. It is the process of arranging a set of modules on the layout surface.
Placement Introduction A very important step in physical design cycle. A poor placement requires larger area. Also results in performance degradation. It is the process of arranging a set of modules on
More informationThe Full Survey on The Euclidean Steiner Tree Problem
The Full Survey on The Euclidean Steiner Tree Problem Shikun Liu Abstract The Steiner Tree Problem is a famous and long-studied problem in combinatorial optimization. However, the best heuristics algorithm
More informationChannel & Switchbox Routing
Channel & Switchbox Routing channel routing Detailed routing switchbox routing Routing Models Grid-based model: A grid is super-imposed on the routing region. Wires follow paths along the grid lines. Gridless
More informationObstacle-Aware Longest-Path Routing with Parallel MILP Solvers
, October 20-22, 2010, San Francisco, USA Obstacle-Aware Longest-Path Routing with Parallel MILP Solvers I-Lun Tseng, Member, IAENG, Huan-Wen Chen, and Che-I Lee Abstract Longest-path routing problems,
More informationPseudopin Assignment with Crosstalk Noise Control
598 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 20, NO. 5, MAY 2001 Pseudopin Assignment with Crosstalk Noise Control Chin-Chih Chang and Jason Cong, Fellow, IEEE
More informationCAD Algorithms. Placement and Floorplanning
CAD Algorithms Placement Mohammad Tehranipoor ECE Department 4 November 2008 1 Placement and Floorplanning Layout maps the structural representation of circuit into a physical representation Physical representation:
More information(a) (b) (c) Routing Blocks. Channels
A Unied Approach to Multilayer Over-the-Cell Routing Sreekrishna Madhwapathy, Naveed Sherwani Siddharth Bhingarde, Anand Panyam Dept. of Computer Science Intel Corporation Western Michigan University Hillsboro,
More informationPhysical Design of Digital Integrated Circuits (EN0291 S40) Sherief Reda Division of Engineering, Brown University Fall 2006
Physical Design of Digital Integrated Circuits (EN029 S40) Sherief Reda Division of Engineering, Brown University Fall 2006 Lecture 09: Routing Introduction to Routing Global Routing Detailed Routing 2
More informationPerformance-Preserved Analog Routing Methodology via Wire Load Reduction
Electronic Design Automation Laboratory (EDA LAB) Performance-Preserved Analog Routing Methodology via Wire Load Reduction Hao-Yu Chi, Hwa-Yi Tseng, Chien-Nan Jimmy Liu, Hung-Ming Chen 2 Dept. of Electrical
More informationDesign And Optimization Of Tracks For Channel Routing In Vlsi Physical Design
IOSR Journal of VLSI and Signal Processing (IOSR-JVSP) Volume 6, Issue 3, Ver. II (May. -Jun. 2016), PP 07-11 e-issn: 2319 4200, p-issn No. : 2319 4197 www.iosrjournals.org Design And Optimization Of Tracks
More informationA Study on Approximation Algorithms for Constructing Rectilinear Steiner Trees
A Study on Approximation Algorithms for Constructing Rectilinear Steiner Trees Latha N.R. Computer Science and Engineering, Visveswaraiah Technological University B.M.S. College of Engineering, Bangalore,
More informationK. Keutzer. A. Kahng
Routing in Integrated Circuits A. Kahng K. Keutzer A. R. Newton ECE 260B CSE 241A /UCB EECS 244 1 Class News Wednesday: Presentation of research topics in placement, routing, and timing Each group will
More informationDouble Patterning-Aware Detailed Routing with Mask Usage Balancing
Double Patterning-Aware Detailed Routing with Mask Usage Balancing Seong-I Lei Department of Computer Science National Tsing Hua University HsinChu, Taiwan Email: d9762804@oz.nthu.edu.tw Chris Chu Department
More information22 Elementary Graph Algorithms. There are two standard ways to represent a
VI Graph Algorithms Elementary Graph Algorithms Minimum Spanning Trees Single-Source Shortest Paths All-Pairs Shortest Paths 22 Elementary Graph Algorithms There are two standard ways to represent a graph
More informationTHE continuous increase of the problem size of IC routing
382 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 24, NO. 3, MARCH 2005 MARS A Multilevel Full-Chip Gridless Routing System Jason Cong, Fellow, IEEE, Jie Fang, Min
More informationOn the Complexity of the Channel Routing Problem in the Dogleg-free Multilayer Manhattan Model
On the Complexity of the Channel Routing Problem in the Dogleg-free Multilayer Manhattan Model Kornélia Ambrus Somogyi Budapest Tech, email: ambrusne.somogyi.kornelia@nik.bmf.hu András Recski 1 Budapest
More informationThe Feasible Solution Space for Steiner Trees
The Feasible Solution Space for Steiner Trees Peter M. Joyce, F. D. Lewis, and N. Van Cleave Department of Computer Science University of Kentucky Lexington, Kentucky 40506 Contact: F. D. Lewis, lewis@cs.engr.uky.edu
More informationAn Enhanced Perturbing Algorithm for Floorplan Design Using the O-tree Representation*
An Enhanced Perturbing Algorithm for Floorplan Design Using the O-tree Representation* Yingxin Pang Dept.ofCSE Univ. of California, San Diego La Jolla, CA 92093 ypang@cs.ucsd.edu Chung-Kuan Cheng Dept.ofCSE
More informationc 2011 Yun Wei Chang
c 2011 Yun Wei Chang SINGLE-LAYER BUS ROUTING FOR HIGH-SPEED BOARDS BY YUN WEI CHANG THESIS Submitted in partial fulfillment of the requirements for the degree of Master of Science in Electrical and Computer
More informationEfficient Multilayer Routing Based on Obstacle-Avoiding Preferred Direction Steiner Tree
Efficient Multilayer Routing Based on Obstacle-Avoiding Preferred Direction Steiner Tree Ching-Hung Liu, Yao-Hsin Chou, Shin-Yi Yuan, and Sy-Yen Kuo National Taiwan University 1 Outline 2 Outline 3 The
More informationL14 - Placement and Routing
L14 - Placement and Routing Ajay Joshi Massachusetts Institute of Technology RTL design flow HDL RTL Synthesis manual design Library/ module generators netlist Logic optimization a b 0 1 s d clk q netlist
More informationEffects of FPGA Architecture on FPGA Routing
Effects of FPGA Architecture on FPGA Routing Stephen Trimberger Xilinx, Inc. 2100 Logic Drive San Jose, CA 95124 USA steve@xilinx.com Abstract Although many traditional Mask Programmed Gate Array (MPGA)
More informationBuffered Routing Tree Construction Under Buffer Placement Blockages
Buffered Routing Tree Construction Under Buffer Placement Blockages Abstract Interconnect delay has become a critical factor in determining the performance of integrated circuits. Routing and buffering
More informationThree-Dimensional Integrated Circuits: Performance, Design Methodology, and CAD Tools
Three-Dimensional Integrated Circuits: Performance, Design Methodology, and CAD Tools Shamik Das, Anantha Chandrakasan, and Rafael Reif Microsystems Technology Laboratories Massachusetts Institute of Technology
More informationRoutability-Driven Bump Assignment for Chip-Package Co-Design
1 Routability-Driven Bump Assignment for Chip-Package Co-Design Presenter: Hung-Ming Chen Outline 2 Introduction Motivation Previous works Our contributions Preliminary Problem formulation Bump assignment
More informationA Novel Framework for Multilevel Full-Chip Gridless Routing
A Novel Framework for Multilevel Full-Chip Gridless Routing Tai-Chen Chen Yao-Wen Chang Shyh-Chang Lin Graduate Institute of Electronics Engineering Graduate Institute of Electronics Engineering SpringSoft,
More information22 Elementary Graph Algorithms. There are two standard ways to represent a
VI Graph Algorithms Elementary Graph Algorithms Minimum Spanning Trees Single-Source Shortest Paths All-Pairs Shortest Paths 22 Elementary Graph Algorithms There are two standard ways to represent a graph
More informationCluster-based approach eases clock tree synthesis
Page 1 of 5 EE Times: Design News Cluster-based approach eases clock tree synthesis Udhaya Kumar (11/14/2005 9:00 AM EST) URL: http://www.eetimes.com/showarticle.jhtml?articleid=173601961 Clock network
More informationIEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS 1
IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS 1 RegularRoute: An Efficient Detailed Router Applying Regular Routing Patterns Yanheng Zhang and Chris Chu Abstract In this paper, we propose
More informationWire Length and Via Reduction for Yield Enhancement *
Wire Length and Via Reduction for Yield Enhancement * Venkat K. R. Chiluvuri and srael Korent Advanced Design Technology, Motorola, Austin, TX 78735 tdepartment of Electrical andcomputer Engineering University
More informationPlace and Route for FPGAs
Place and Route for FPGAs 1 FPGA CAD Flow Circuit description (VHDL, schematic,...) Synthesize to logic blocks Place logic blocks in FPGA Physical design Route connections between logic blocks FPGA programming
More informationPlacement Algorithm for FPGA Circuits
Placement Algorithm for FPGA Circuits ZOLTAN BARUCH, OCTAVIAN CREŢ, KALMAN PUSZTAI Computer Science Department, Technical University of Cluj-Napoca, 26, Bariţiu St., 3400 Cluj-Napoca, Romania {Zoltan.Baruch,
More informationA Difficult Channel Routing Generator
Purdue University Purdue e-pubs ECE Technical Reports Electrical and Computer Engineering 1-5-1995 A Difficult Channel Routing Generator Heng Yi Chao Purdue University School of Electrical Engineering
More informationShort Papers. Creating and Exploiting Flexibility in Rectilinear Steiner Trees
IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 22, NO. 5, MAY 2003 605 Short Papers Creating and Exploiting Flexibility in Rectilinear Steiner Trees Elaheh Bozorgzadeh,
More informationCAD Algorithms. Circuit Partitioning
CAD Algorithms Partitioning Mohammad Tehranipoor ECE Department 13 October 2008 1 Circuit Partitioning Partitioning: The process of decomposing a circuit/system into smaller subcircuits/subsystems, which
More informationECE 5745 Complex Digital ASIC Design Topic 13: Physical Design Automation Algorithms
ECE 7 Complex Digital ASIC Design Topic : Physical Design Automation Algorithms Christopher atten School of Electrical and Computer Engineering Cornell University http://www.csl.cornell.edu/courses/ece7
More informationGeneral Models for Optimum Arbitrary-Dimension FPGA Switch Box Designs
General Models for Optimum Arbitrary-Dimension FPGA Switch Box Designs Hongbing Fan Dept. of omputer Science University of Victoria Victoria B anada V8W P6 Jiping Liu Dept. of Math. & omp. Sci. University
More informationA Provably Good Approximation Algorithm for Rectangle Escape Problem with Application to PCB Routing
A Provably Good Approximation Algorithm for Rectangle Escape Problem with Application to PCB Routing Qiang Ma Hui Kong Martin D. F. Wong Evangeline F. Y. Young Department of Electrical and Computer Engineering,
More informationa) 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
COUPLING AWARE ROUTING Ryan Kastner, Elaheh Bozorgzadeh and Majid Sarrafzadeh Department of Electrical and Computer Engineering Northwestern University kastner,elib,majid@ece.northwestern.edu ABSTRACT
More informationNEW ROUTING AND COMPACTION STRATEGIES FOR YIELD ENHANCEMENT
NEW ROUTING AND COMPACTION STRATEGIES FOR YIELD ENHANCEMENT Venkat K. R. Chiluvuri and Israel Koren Department of Electrical and Computer Engineering University of Massachusetts, Amherst, MA 01003 Abstract
More informationVIA ASSIGNMENT IN SINGLE ROW ROUTING* Jayaram Bhasker + and Sartaj Sahni University of Minnesota
VIA ASSIGNMENT IN SINGLE ROW ROUTING* Jayaram Bhasker + and Sartaj Sahni University of Minnesota ABSTRACT We examine the via assignment problem that arises when the single row routing approach to the interconnection
More informationChapter 9 Graph Algorithms
Introduction graph theory useful in practice represent many real-life problems can be if not careful with data structures Chapter 9 Graph s 2 Definitions Definitions an undirected graph is a finite set
More informationIntroduction to Parallel & Distributed Computing Parallel Graph Algorithms
Introduction to Parallel & Distributed Computing Parallel Graph Algorithms Lecture 16, Spring 2014 Instructor: 罗国杰 gluo@pku.edu.cn In This Lecture Parallel formulations of some important and fundamental
More informationVLSI Design Automation Final Project Due: June 26 th, Project: A Router
Project: A Router In lecture, we described how to use the maze routing method to route the wires in a large ASIC, using a 3-dimensional stack of routing grids. In this project assignment, you get to build
More informationChapter 9 Graph Algorithms
Chapter 9 Graph Algorithms 2 Introduction graph theory useful in practice represent many real-life problems can be if not careful with data structures 3 Definitions an undirected graph G = (V, E) is a
More information160 M. Nadjarbashi, S.M. Fakhraie and A. Kaviani Figure 2. LUTB structure. each block-level track can be arbitrarily connected to each of 16 4-LUT inp
Scientia Iranica, Vol. 11, No. 3, pp 159{164 c Sharif University of Technology, July 2004 On Routing Architecture for Hybrid FPGA M. Nadjarbashi, S.M. Fakhraie 1 and A. Kaviani 2 In this paper, the routing
More informationTemperature-Aware Routing in 3D ICs
Temperature-Aware Routing in 3D ICs Tianpei Zhang, Yong Zhan and Sachin S. Sapatnekar Department of Electrical and Computer Engineering University of Minnesota 1 Outline Temperature-aware 3D global routing
More informationA Novel Performance-Driven Topology Design Algorithm
A Novel Performance-Driven Topology Design Algorithm Min Pan, Chris Chu Priyadarshan Patra Electrical and Computer Engineering Dept. Intel Corporation Iowa State University, Ames, IA 50011 Hillsboro, OR
More informationMETHODS TO LOCALIZE SHORTS BETWEEN POWER AND GROUND CIRCUITS
CANADIAN APPLIED MATHEMATICS QUARTERLY Volume 12, Number 1, Spring 2004 METHODS TO LOCALIZE SHORTS BETWEEN POWER AND GROUND CIRCUITS MARK BRAVERMAN, SHENGYUAN CHEN, MARCIO GAMEIRO, NADINE GÄRTNER, YASONG
More informationAN AUTOMATED INTERCONNECT DESIGN SYSTEM
AN AUTOMATED INTERCONNECT DESIGN SYSTEM W. E. Pickrell Automation Systems, Incorporated INTRODUCTION This paper describes a system for automatically designing and producing artwork for interconnect surfaces.
More informationAn Analytical Approach to Floorplan Design and Optimization. Suphachai Sutanthavibul, Eugene Shragowitz, J. Ben Rosen
An Analytical Approach to Floorplan Design and Optimization. Suphachai Sutanthavibul, Eugene Shragowitz, J. Ben Rosen Computer Science Department University of Minnesota Minneapolis, Minnesota 55454 Abstract
More informationConstructive and destructive algorithms
Constructive and destructive algorithms Heuristic algorithms Giovanni Righini University of Milan Department of Computer Science (Crema) Constructive algorithms In combinatorial optimization problems every
More informationChapter 9 Graph Algorithms
Chapter 9 Graph Algorithms 2 Introduction graph theory useful in practice represent many real-life problems can be slow if not careful with data structures 3 Definitions an undirected graph G = (V, E)
More informationUnit 2: Algorithmic Graph Theory
Unit 2: Algorithmic Graph Theory Course contents: Introduction to graph theory Basic graph algorithms Reading Chapter 3 Reference: Cormen, Leiserson, and Rivest, Introduction to Algorithms, 2 nd Ed., McGraw
More informationCOMPARATIVE STUDY OF CIRCUIT PARTITIONING ALGORITHMS
COMPARATIVE STUDY OF CIRCUIT PARTITIONING ALGORITHMS Zoltan Baruch 1, Octavian Creţ 2, Kalman Pusztai 3 1 PhD, Lecturer, Technical University of Cluj-Napoca, Romania 2 Assistant, Technical University of
More information11/22/2016. Chapter 9 Graph Algorithms. Introduction. Definitions. Definitions. Definitions. Definitions
Introduction Chapter 9 Graph Algorithms graph theory useful in practice represent many real-life problems can be slow if not careful with data structures 2 Definitions an undirected graph G = (V, E) is
More informationNon-Rectangular Shaping and Sizing of Soft Modules for Floorplan Design Improvement
Non-Rectangular Shaping and Sizing of Soft Modules for Floorplan Design Improvement Chris C.N. Chu and Evangeline F.Y. Young Abstract Many previous works on floorplanning with non-rectangular modules [,,,,,,,,,,,
More informationDecreasing a key FIB-HEAP-DECREASE-KEY(,, ) 3.. NIL. 2. error new key is greater than current key 6. CASCADING-CUT(, )
Decreasing a key FIB-HEAP-DECREASE-KEY(,, ) 1. if >. 2. error new key is greater than current key 3.. 4.. 5. if NIL and.
More informationOn Improving Recursive Bipartitioning-Based Placement
Purdue University Purdue e-pubs ECE Technical Reports Electrical and Computer Engineering 12-1-2003 On Improving Recursive Bipartitioning-Based Placement Chen Li Cheng-Kok Koh Follow this and additional
More informationDESIGN AND ANALYSIS OF ALGORITHMS GREEDY METHOD
1 DESIGN AND ANALYSIS OF ALGORITHMS UNIT II Objectives GREEDY METHOD Explain and detail about greedy method Explain the concept of knapsack problem and solve the problems in knapsack Discuss the applications
More informationProbability-Based Approach to Rectilinear Steiner Tree Problems
836 IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 10, NO. 6, DECEMBER 2002 Probability-Based Approach to Rectilinear Steiner Tree Problems Chunhong Chen, Member, IEEE, Jiang Zhao,
More informationUnit 5F: Layout Compaction
Course contents Unit 5F: Layout Compaction Design rules Symbolic layout Constraint-graph compaction Readings: Chapter 6 Unit 5F 1 Design rules: restrictions on the mask patterns to increase the probability
More informationUnit 3: Layout Compaction
Unit 3: Layout Compaction Course contents Design rules Symbolic layout Constraint-graph compaction Readings: Chapter 6 Unit 3 1 Design rules: restrictions on the mask patterns to increase the probability
More informationPreclass Warmup. ESE535: Electronic Design Automation. Motivation (1) Today. Bisection Width. Motivation (2)
ESE535: Electronic Design Automation Preclass Warmup What cut size were you able to achieve? Day 4: January 28, 25 Partitioning (Intro, KLFM) 2 Partitioning why important Today Can be used as tool at many
More informationRESEARCH in very large-scale integration (VLSI) routing
IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 26, NO. 6, JUNE 2007 1041 Multilevel Full-Chip Gridless Routing With Applications to Optical-Proximity Correction Tai-Chen
More informationRecent Research and Emerging Challenges in Physical Design for Manufacturability/Reliability
Recent Research and Emerging Challenges in Physical Design for Manufacturability/Reliability Chung-Wei Lin 1, Ming-Chao Tsai 2, Kuang-Yao Lee 2, Tai-Chen Chen 1, Ting-Chi Wang 2, and Yao-Wen Chang 1 1
More informationPartitioning. Course contents: Readings. Kernighang-Lin partitioning heuristic Fiduccia-Mattheyses heuristic. Chapter 7.5.
Course contents: Partitioning Kernighang-Lin partitioning heuristic Fiduccia-Mattheyses heuristic Readings Chapter 7.5 Partitioning 1 Basic Definitions Cell: a logic block used to build larger circuits.
More informationEN2911X: Reconfigurable Computing Lecture 13: Design Flow: Physical Synthesis (5)
EN2911X: Lecture 13: Design Flow: Physical Synthesis (5) Prof. Sherief Reda Division of Engineering, rown University http://scale.engin.brown.edu Fall 09 Summary of the last few lectures System Specification
More informationParallel Global Routing Algorithms for Standard Cells
Parallel Global Routing Algorithms for Standard Cells Zhaoyun Xing Computer and Systems Research Laboratory University of Illinois Urbana, IL 61801 xing@crhc.uiuc.edu Prithviraj Banerjee Center for Parallel
More informationVERY large scale integration (VLSI) design for power
IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 7, NO. 1, MARCH 1999 25 Short Papers Segmented Bus Design for Low-Power Systems J. Y. Chen, W. B. Jone, Member, IEEE, J. S. Wang,
More informationCreating and Exploiting Flexibility in Rectilinear Steiner Trees
IEEE TRANSACTIONS ON COMUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS... 1 Creating and Exploiting Flexibility in Rectilinear Steiner Trees Elaheh Bozorgzadeh, Ryan Kastner, and Majid Sarrafzadeh
More informationA Simple Placement and Routing Algorithm for a Two-Dimensional Computational Origami Architecture
A Simple Placement and Routing Algorithm for a Two-Dimensional Computational Origami Architecture Robert S. French April 5, 1989 Abstract Computational origami is a parallel-processing concept in which
More informationBottleneck Steiner Tree with Bounded Number of Steiner Vertices
Bottleneck Steiner Tree with Bounded Number of Steiner Vertices A. Karim Abu-Affash Paz Carmi Matthew J. Katz June 18, 2011 Abstract Given a complete graph G = (V, E), where each vertex is labeled either
More informationIntegrated Floorplanning with Buffer/Channel Insertion for Bus-Based Microprocessor Designs 1
Integrated Floorplanning with Buffer/ for Bus-Based Microprocessor Designs 1 Faran Rafiq Intel Microlectronics Services, 20325 NW Von Neumann Dr. AG3-318, Beaverton, OR 97006 faran.rafiq@intel.com Malgorzata
More informationFull Custom Layout Optimization Using Minimum distance rule, Jogs and Depletion sharing
Full Custom Layout Optimization Using Minimum distance rule, Jogs and Depletion sharing Umadevi.S #1, Vigneswaran.T #2 # Assistant Professor [Sr], School of Electronics Engineering, VIT University, Vandalur-
More informationHomework # 2 Due: October 6. Programming Multiprocessors: Parallelism, Communication, and Synchronization
ECE669: Parallel Computer Architecture Fall 2 Handout #2 Homework # 2 Due: October 6 Programming Multiprocessors: Parallelism, Communication, and Synchronization 1 Introduction When developing multiprocessor
More informationPhysical Design of Digital Integrated Circuits (EN0291 S40) Sherief Reda Division of Engineering, Brown University Fall 2006
Physical Design of Digital Integrated Circuits (EN029 S40) Sherief Reda Division of Engineering, Brown University Fall 2006 Lecture 08: Interconnect Trees Introduction to Graphs and Trees Minimum Spanning
More informationSequential/Parallel Global Routing Algorithms for VLSI Standard. Cells
Sequential/Parallel Global Routing Algorithms for VLSI Standard Cells A Thesis Presented to The Faculty of Graduate Studies of The University of Guelph by HAO SUN In partial fulfilment of requirements
More informationFloorplan Management: Incremental Placement for Gate Sizing and Buffer Insertion
Floorplan Management: Incremental Placement for Gate Sizing and Buffer Insertion Chen Li, Cheng-Kok Koh School of ECE, Purdue University West Lafayette, IN 47907, USA {li35, chengkok}@ecn.purdue.edu Patrick
More informationVery Large Scale Integration (VLSI)
Very Large Scale Integration (VLSI) Lecture 6 Dr. Ahmed H. Madian Ah_madian@hotmail.com Dr. Ahmed H. Madian-VLSI 1 Contents FPGA Technology Programmable logic Cell (PLC) Mux-based cells Look up table PLA
More information3 No-Wait Job Shops with Variable Processing Times
3 No-Wait Job Shops with Variable Processing Times In this chapter we assume that, on top of the classical no-wait job shop setting, we are given a set of processing times for each operation. We may select
More information