A Multi-Layer Router Utilizing Over-Cell Areas

Size: px
Start display at page:

Download "A Multi-Layer Router Utilizing Over-Cell Areas"

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 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 information

Unit 7: Maze (Area) and Global Routing

Unit 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 information

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

Basic 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 information

Generating More Compactable Channel Routing Solutions 1

Generating 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 information

Routing. 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 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 information

ECE260B CSE241A Winter Routing

ECE260B 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 information

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

Problem 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 information

Graph Models for Global Routing: Grid Graph

Graph 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 information

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

Single 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 information

Layout DA (Physical Design)

Layout 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 information

Chapter 5 Global Routing

Chapter 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 information

CS612 Algorithms for Electronic Design Automation. Global Routing

CS612 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 information

ICS 252 Introduction to Computer Design

ICS 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 information

Efficient Rectilinear Steiner Tree Construction with Rectangular Obstacles

Efficient 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 information

Estimation of Wirelength

Estimation 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 information

VLSI Physical Design: From Graph Partitioning to Timing Closure

VLSI 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 information

VLSI 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 Chapter 5 Global Routing 5. Introduction 5.2 Terminology and Definitions 5.3 Optimization Goals 5. Representations of

More information

MulCh: a Multi-layer Channel Router using One, Two, and Three Layer Partitions

MulCh: 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 information

Planning for Local Net Congestion in Global Routing

Planning 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 information

Introduction. A very important step in physical design cycle. It is the process of arranging a set of modules on the layout surface.

Introduction. 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 information

The Full Survey on The Euclidean Steiner Tree Problem

The 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 information

Channel & Switchbox Routing

Channel & 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 information

Obstacle-Aware Longest-Path Routing with Parallel MILP Solvers

Obstacle-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 information

Pseudopin Assignment with Crosstalk Noise Control

Pseudopin 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 information

CAD Algorithms. Placement and Floorplanning

CAD 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) (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 information

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

Physical 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 information

Performance-Preserved Analog Routing Methodology via Wire Load Reduction

Performance-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 information

Design And Optimization Of Tracks For Channel Routing In Vlsi Physical Design

Design 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 information

A Study on Approximation Algorithms for Constructing Rectilinear Steiner Trees

A 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 information

K. Keutzer. A. Kahng

K. 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 information

Double Patterning-Aware Detailed Routing with Mask Usage Balancing

Double 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 information

22 Elementary Graph Algorithms. There are two standard ways to represent a

22 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 information

THE continuous increase of the problem size of IC routing

THE 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 information

On 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 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 information

The Feasible Solution Space for Steiner Trees

The 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 information

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

An 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 information

c 2011 Yun Wei Chang

c 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 information

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

Efficient 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 information

L14 - Placement and Routing

L14 - 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 information

Effects of FPGA Architecture on FPGA Routing

Effects 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 information

Buffered Routing Tree Construction Under Buffer Placement Blockages

Buffered 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 information

Three-Dimensional Integrated Circuits: Performance, Design Methodology, and CAD Tools

Three-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 information

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

Routability-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 information

A Novel Framework for Multilevel Full-Chip Gridless Routing

A 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 information

22 Elementary Graph Algorithms. There are two standard ways to represent a

22 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 information

Cluster-based approach eases clock tree synthesis

Cluster-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 information

IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS 1

IEEE 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 information

Wire Length and Via Reduction for Yield Enhancement *

Wire 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 information

Place and Route for FPGAs

Place 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 information

Placement Algorithm for FPGA Circuits

Placement 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 information

A Difficult Channel Routing Generator

A 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 information

Short Papers. Creating and Exploiting Flexibility in Rectilinear Steiner Trees

Short 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 information

CAD Algorithms. Circuit Partitioning

CAD 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 information

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

ECE 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 information

General Models for Optimum Arbitrary-Dimension FPGA Switch Box Designs

General 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 information

A 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 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 information

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) 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 information

NEW ROUTING AND COMPACTION STRATEGIES FOR YIELD ENHANCEMENT

NEW 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 information

VIA 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 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 information

Chapter 9 Graph Algorithms

Chapter 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 information

Introduction to Parallel & Distributed Computing Parallel Graph Algorithms

Introduction 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 information

VLSI Design Automation Final Project Due: June 26 th, Project: A Router

VLSI 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 information

Chapter 9 Graph Algorithms

Chapter 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 information

160 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

160 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 information

Temperature-Aware Routing in 3D ICs

Temperature-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 information

A Novel Performance-Driven Topology Design Algorithm

A 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 information

METHODS TO LOCALIZE SHORTS BETWEEN POWER AND GROUND CIRCUITS

METHODS 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 information

AN AUTOMATED INTERCONNECT DESIGN SYSTEM

AN 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 information

An 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 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 information

Constructive and destructive algorithms

Constructive 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 information

Chapter 9 Graph Algorithms

Chapter 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 information

Unit 2: Algorithmic Graph Theory

Unit 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 information

COMPARATIVE STUDY OF CIRCUIT PARTITIONING ALGORITHMS

COMPARATIVE 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 information

11/22/2016. Chapter 9 Graph Algorithms. Introduction. Definitions. Definitions. Definitions. Definitions

11/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 information

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

Non-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 information

Decreasing 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(,, ) 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 information

On Improving Recursive Bipartitioning-Based Placement

On 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 information

DESIGN AND ANALYSIS OF ALGORITHMS GREEDY METHOD

DESIGN 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 information

Probability-Based Approach to Rectilinear Steiner Tree Problems

Probability-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 information

Unit 5F: Layout Compaction

Unit 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 information

Unit 3: Layout Compaction

Unit 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 information

Preclass Warmup. ESE535: Electronic Design Automation. Motivation (1) Today. Bisection Width. Motivation (2)

Preclass 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 information

RESEARCH in very large-scale integration (VLSI) routing

RESEARCH 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 information

Recent Research and Emerging Challenges in Physical Design for Manufacturability/Reliability

Recent 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 information

Partitioning. Course contents: Readings. Kernighang-Lin partitioning heuristic Fiduccia-Mattheyses heuristic. Chapter 7.5.

Partitioning. 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 information

EN2911X: Reconfigurable Computing Lecture 13: Design Flow: Physical Synthesis (5)

EN2911X: 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 information

Parallel Global Routing Algorithms for Standard Cells

Parallel 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 information

VERY large scale integration (VLSI) design for power

VERY 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 information

Creating and Exploiting Flexibility in Rectilinear Steiner Trees

Creating 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 information

A 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 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 information

Bottleneck Steiner Tree with Bounded Number of Steiner Vertices

Bottleneck 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 information

Integrated Floorplanning with Buffer/Channel Insertion for Bus-Based Microprocessor Designs 1

Integrated 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 information

Full Custom Layout Optimization Using Minimum distance rule, Jogs and Depletion sharing

Full 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 information

Homework # 2 Due: October 6. Programming Multiprocessors: Parallelism, Communication, and Synchronization

Homework # 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 information

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

Physical 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 information

Sequential/Parallel Global Routing Algorithms for VLSI Standard. Cells

Sequential/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 information

Floorplan Management: Incremental Placement for Gate Sizing and Buffer Insertion

Floorplan 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 information

Very Large Scale Integration (VLSI)

Very 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 information

3 No-Wait Job Shops with Variable Processing Times

3 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