New Optimal Layer Assignment for Bus-Oriented Escape Routing

Similar documents
Efficient Rectilinear Steiner Tree Construction with Rectangular Obstacles

An Optimal Algorithm for Layer Assignment of Bus Escape RoutingonPCBs

Alternate Algorithm for DSM Partitioning

A Provably Good Approximation Algorithm for Rectangle Escape Problem with Application to PCB Routing

Tetris: A New Register Pressure Control Technique for VLIW Processors

General Models for Optimum Arbitrary-Dimension FPGA Switch Box Designs

Block Alignment in 3D Floorplan Using Layered TCG

Overlay-Aware Detailed Routing for Self-Aligned Double Patterning Lithography Using the Cut Process

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

ECE260B CSE241A Winter Routing

Multi-Optical Network on Chip for Large Scale MPSoC

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

Speeding up Moving-Target Search

CSC 373: Algorithm Design and Analysis Lecture 3

Speeding up Moving-Target Search

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

4.1 Interval Scheduling

An ASIC Design for a High Speed Implementation of the Hash Function SHA-256 (384, 512)

Obstacle-Aware Longest-Path Routing with Parallel MILP Solvers

Computational Geometry

Unit 7: Maze (Area) and Global Routing

CS 5114: Theory of Algorithms. Graph Algorithms. A Tree Proof. Graph Traversals. Clifford A. Shaffer. Spring 2014

A Schedulability-Preserving Transformation Scheme from Boolean- Controlled Dataflow Networks to Petri Nets

Leveraging Transitive Relations for Crowdsourced Joins*

Timing-Constrained I/O Buffer Placement for Flip- Chip Designs

LATA: A Latency and Throughput-Aware Packet Processing System

Twin Binary Sequences: A Non-redundant Representation for General Non-slicing Floorplan

Twin Binary Sequences: A Non-redundant Representation for General Non-slicing Floorplan

Layout Aware Design of Mesh based NoC Architectures

Approximation Algorithms for Geometric Intersection Graphs

Lecture outline. Graph coloring Examples Applications Algorithms

NP-Completeness. Algorithms

These definitions cover some basic terms and concepts of graph theory and how they have been implemented as C++ classes.

c 2011 Yun Wei Chang

Greedy algorithms is another useful way for solving optimization problems.

Graph Theory S 1 I 2 I 1 S 2 I 1 I 2

Figure 1: An example of a hypercube 1: Given that the source and destination addresses are n-bit vectors, consider the following simple choice of rout

CS 5114: Theory of Algorithms. Graph Algorithms. A Tree Proof. Graph Traversals. Clifford A. Shaffer. Spring 2014

Dynamic Maintenance of Majority Information in Constant Time per Update

Sample Solutions to Homework #2

UML CS Algorithms Qualifying Exam Fall, 2003 ALGORITHMS QUALIFYING EXAM

Layout DA (Physical Design)

Register allocation. CS Compiler Design. Liveness analysis. Register allocation. Liveness analysis and Register allocation. V.

Design and Analysis of Algorithms

Seeing Around Corners: Fast Orthogonal Connector Routing

On the Rectangle Escape Problem

On the Rectangle Escape Problem

Randomized Large Neighborhood Search for Cumulative Scheduling

VLSI Physical Design: From Graph Partitioning to Timing Closure

Analysis of Algorithms Prof. Karen Daniels

CS612 Algorithms for Electronic Design Automation

TOPOLOGICAL SYNTHESIS OF ALL 2D MECHANISMS THROUGH ASSUR GRAPHS

Chapter 5 Global Routing

On the Complexity of the Channel Routing Problem in the Dogleg-free Multilayer Manhattan Model

On the Relationships between Zero Forcing Numbers and Certain Graph Coverings

Perfect matchings in O(nlogn) time in regular bipartite graph

The Need for a Process Mining Evaluation Framework in Research and Practice

Vertex-Based (Lath) Representations for Three-Dimensional Objects and Meshes p.1/15

High-Level Synthesis

A Note on Scheduling Parallel Unit Jobs on Hypercubes

Optimal Latch Mapping and Retiming within a Tree

Boolean Matching for Complex PLBs in LUT-based FPGAs with Application to Architecture Evaluation. Jason Cong and Yean-Yow Hwang

CSE 101- Winter 18 Discussion Section Week 2

Chapter 16. Greedy Algorithms

VLSI Physical Design: From Graph Partitioning to Timing Closure

Artificial Intelligence

Coloring Fuzzy Circular Interval Graphs

Partitioning. Partitioning Levels. Chip. Readings: Chapter 2. Circuits can exceed chip capacity. Partitioning

ALGORITHMIC STUDIES ON PCB ROUTING TAN YAN DISSERTATION

A Hybrid Recursive Multi-Way Number Partitioning Algorithm

Unit 2: Algorithmic Graph Theory

Name Student ID Department/Year. Final Examination. Introduction to Computer Networks Class#: Fall :50-11:30 Tuesday January 10, 2006

Chapter 6 Detailed Routing

Pseudopin Assignment with Crosstalk Noise Control

Interleaving Schemes on Circulant Graphs with Two Offsets

An Application of Prim s Algorithm in Defining a SoS Operational Boundary

CS350: Data Structures AVL Trees

Li Minqiang Institute of Systems Engineering Tianjin University, Tianjin , P.R. China

(a) (b) (c) Phase1. Phase2. Assignm ent offfs to scan-paths. Phase3. Determination of. connection-order offfs. Phase4. Im provem entby exchanging FFs

WEEK 1 CLASS NOTES AARON G. CASS

MATH 363 Final Wednesday, April 28. Final exam. You may use lemmas and theorems that were proven in class and on assignments unless stated otherwise.

Dynamic Fringe-Saving A*

An Optimal and Progressive Approach to Online Search of Top-K Influential Communities

VISUALIZING NP-COMPLETENESS THROUGH CIRCUIT-BASED WIDGETS

Spanning Tree. Lecture19: Graph III. Minimum Spanning Tree (MSP)

A 2k-Kernelization Algorithm for Vertex Cover Based on Crown Decomposition

Polygon decomposition. Motivation: Art gallery problem

PACKING DIGRAPHS WITH DIRECTED CLOSED TRAILS

Solving NP-hard Problems on Special Instances

Mapping and architecture exploration

Slides for Faculty Oxford University Press All rights reserved.

Efficient and Effective Practical Algorithms for the Set-Covering Problem

Theoretical Constraints on Multi-Dimensional Retiming Design Techniques

A Dynamic Method of Constructing MST Based on OpenFlow Protocol

Algorithmic Graph Theory and Perfect Graphs

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

Design and Analysis of Algorithms

CSE 332: Data Structures & Parallelism Lecture 22: Minimum Spanning Trees. Ruth Anderson Winter 2018

Rectangular Partitioning

A Linear Programming Based Algorithm for Multiple Sequence Alignment by Using Markov Decision Process

Transcription:

New Optimal Layer ssignment for us-oriented scape Routing in-tai Yan epartment of omputer Science and nformation ngineering, hung-ua University, sinchu, Taiwan, R. O.. STRT n this paper, based on the optimal feature of a left-edge algorithm for interval packing, a modified left-edge algorithm is proposed to optimally solve the layer assignment problem for bus-oriented escape routing. irstly, a set of assignment constraints for the overlapping relations of the left or right projection intervals and the crossing relations of all the buses between two adjacent pin arrays is generated. urthermore, with the consideration of the assignment constraints, an optimal constraint-aware algorithm is proposed to minimize the number of assigned layers and assign all the buses onto the used layers. ompared with ong s heuristic algorithm[4], it is proved that our proposed optimal algorithm guarantees that the number of assigned layers is minimized and the experimental results show that our proposed algorithm reduces 8.8% of assigned layers for eight tested examples on the average. ompared with Yan s O(n 2.38 ) optimal algorithm[5], it is proved that our proposed optimal algorithm has better time complexity in O(n 2 ) time and the experimental results show that our proposed algorithm reduces 33.6% of PU time for eight tested examples on the average. ategories and Subject escriptors.7.2 [ntegrated ircuits]: esign ids Placement and routing eneral Terms: lgorithms, esign eywords: P design, scape routing, Layer ssignment, us routing 1. NTROUTON s technology advances, the shrinkage in die size and the increase in functional complexity[1] have made designs denser and complex designs have made the pin count in a package increasing. owever, the new challenges cannot be effectively handled by traditional routing approaches in P designs. enerally speaking, P routing can be divided into two phases: escape routing and bus routing. n escape routing, the pins inside the pin arrays must be routed to the boundaries of the pin arrays. t is known that the increase of the pin count makes escape routing difficult in P designs. n bus routing, a bus must be routed in a Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. LSVLS 11, May 2 4, 2011, Lausanne, Switzerland opyright 2011 M 978-1-4503-0667-6/11/05...$10.00. Zhi-Wei hen ollege of ngineering, hung-ua University, sinchu, Taiwan, R. O.. single layer between two pin arrays and the wires in bus routing must be detoured to satisfy some length constraints[2]. Similarly, it is known that the complexity of the length constraints makes bus routing difficult in P designs. n general, escape routing can be divided into net-oriented escape routing[3] and bus-oriented escape routing. n net-oriented escape routing, the nets of two buses may be mixed up and routed in the same layer. learly, the routing process focuses on the mixing nets of different buses and the other nets of independent buses. n bus-oriented escape routing, the nets in a single bus are not expected to be mixed up with any foreign net and are routed together. learly, the routing process only focuses on the nets of any independent bus. ence, bus-oriented escape routing is more popular than net-oriented escape routing. n layer assignment for bus-oriented escape routing, firstly, ong et al. [4] proposed an optimal algorithm for bus sequencing. asically, the algorithm is optimal to determine a maximum subset of the given buses for single-layer bus routing. iven a set of buses, by using the proposed optimal algorithm for bus sequencing, a maximum subset of the unassigned buses is repeatedly assign onto a new layer in a heuristic algorithm. s a result, the number of assigned layers can be obtained and all the given buses can be assigned onto the used layers. owever, the proposed heuristic algorithm may not minimize the number of assigned layers for busoriented escape routing. Recently, Yan et al.[5] propose an O(n 2.38 ) optimal algorithm in the layer assignment for bus-oriented escape routing. The layer assignment problem can be transformed into a bipartite matching problem. y finding the maximum matching in the corresponding bipartite graph, the number of layers can be guaranteed to be minimized and all the buses can be assigned onto the used layers. owever, the time complexity in the proposed optimal algorithm is too high for bus-oriented escape routing. n this paper, firstly, a set of assignment constraints for the overlapping relations of the left or right projection intervals and the crossing relations of all the buses between two adjacent pin arrays is generated. urthermore, with the consideration of the assignment constraints, an optimal constraint-aware algorithm is proposed to minimize the number of assigned layers and assign all the buses onto the used layers. ompared with ong s heuristic algorithm[4], it is proved that our proposed optimal algorithm guarantees that the number of assigned layers is minimized and the experimental results show that our proposed algorithm reduces 8.8% of assigned layers for eight tested examples on the average. ompared with Yan s O(n 2.38 ) optimal algorithm[5], it is proved that our proposed optimal algorithm has better time complexity in O(n 2 ) time and the experimental results show that our proposed algorithm reduces 33.6% of PU time for eight tested examples on the average. 2. PROLM ORMULTON n a P design, it is assumed that a pin array is located under

any circuit component for O connections. or bus-oriented escape routing, pins under any circuit component can be grouped into some buses and the pins in a bus must be escaped to the boundary of the circuit component with minimal detours. or any bus between two adjacent components, two minimum rectangular regions which cover all the pins of the bus in two pin arrays are called as a left pin box and a right pin box. urthermore, the left(right) projection interval of the bus is defined as the projection of its left(right) pin box to the array boundary. or all the pins of a bus in a pin array, its left pin box and its left projection interval along the array boundary can be obtained as illustrated in igure 1. ue to the high density of O connections in two pin arrays, all the buses cannot be assigned onto a single layer at the same time. or any pair of buses, b i and b j, if their left(right) projection intervals, l i and l j, (r i and r j ) overlap as illustrated in igure 2 or the orders of two buses in two adjacent pin arrays are different as illustrated in igure 2, the unroutable condition in a single layer is called as a conflict condition between two buses for bus-oriented escape routing or single-layer bus routing. learly, if the conflict condition in igure 2 happens for any pair of buses, the two buses cannot be routed for bus-oriented escape routing and the two buses must be assigned onto two different layers. On the other hand, if the conflict condition in igure 2 happens for any pair of buses, the two buses cannot be routed for single-layer bus routing and the two buses must be assigned onto two different layers Left Pin ox rray oundary there is no conflict condition between two buses. f two buses are able to be assigned onto the same layer, the two buses can be defined to be compatible each other. or layer assignment of all the buses between two pin arrays, if any pair of two buses in any assigned layer is compatible each other, the layer assignment can be further defined as a valid layer assignment. iven a set of n buses, = {b 1, b 2,...,b n, defined by their left intervals, {l 1, l 2,...,l n, in the left array and their right intervals, {r 1, r 2,...,r n, in the right array, with the consideration of the conflict conditions of all the buses between two pin arrays, the layer assignment problem for is to minimize the number of assigned layers to obtain a valid layer assignment for and assign all the buses in onto the used layers. s illustrated in igure 3, given a set of 11 connecting buses, {,,,,,,,,,,, between two adjacent pin arrays for bus-oriented escape routing and single-layer bus routing, the number of assigned layers is minimized to be 3 and all the buses between two pin arrays are assigned onto three layers to maintain single-layer bus routing in layer assignment for bus-oriented escape routing. n layer assignment of the 11 buses, 6 buses,,,,, and, are assigned on the first layer as illustrated in igure 3. urthermore, 2 buses, and, are assigned on the second layer as illustrated in igure 3(c). inally, 3 buses,, and, are assigned on the third layer as illustrated in igure 3(d). Left Projection nterval igure 1 Projection interval for a bus li ri lj rj li rj lj ri igure 2 onflict conditions for bus-oriented escape routing and singlelayer bus routing t is known that two buses can be assigned onto the same layer for bus-oriented escape routing and single-layer bus routing if (c) (d) igure 3 Layer assignment for bus-oriented escape routing 3. OPTMLTY O NTRVL PN or interval packing, if any pair of intervals, i and j, does not

overlap, the two intervals can be packed into the same track. iven a set of n intervals, { 1, 2,, n, the interval packing problem is to minimize the number of tracks to pack all the intervals into the assigned tracks so that the overlapping intervals are assigned onto different tracks. or the interval packing problem, the corresponding interval graph, (V, ), can be constructed as follows: One vertex, v i, in V represents an interval, i, and one edge, e i,j, in represents the overlapping relation between two interval, i and j, respectively. s illustrated in igure 4, given a set of 9 intervals, { 1, 2, 3, 4, 5, 6, 7, 8, 9, in an x-directional coordinate, the corresponding interval graph is constructed and illustrated in igure 4 according to the given interval set and all the overlapping relations in the given interval set. asically, the interval packing problem is a vertex-coloring problem in the corresponding interval graph. t is well known that a vertex-coloring problem is NP-hard[6] in a general graph and the size of the maximum clique in a general graph is the lower bound of the used colors. owever, the vertex-coloring problem in an interval graph can be optimally solved in O(nlogn) time by using a greedy left-edge algorithm. The left-edge algorithm can be mainly divided into two steps: (1) Sort all the intervals in an increasing order according to their left coordinates of all the intervals, and (2) ssign all the sorted intervals one by one greedily onto the bottommost available track. t is widely applied for resource sharing, channel routing[7] and channel assignment[8] in VLS designs. Refer to all the intervals in an x-directional coordinate in igure 4, the size of the maximum clique in the corresponding interval graph is 4. y using a greedy left-edge algorithm, all the intervals are sorted in an increasing order as illustrated in igure 5 and all the intervals in the interval graph are packed into 4 tracks in an optimal interval packing result as illustrated in igure 5. 7 8 4 5 3 1 2 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 9 6 igure 4 set of intervals and its corresponding interval graph v 1 v 7 v 6 v 8 v 5 v 2 7 v 4 3 v 3 v 9 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 8 v 7 v 1 4 5 9 6 1 2 igure 5 Optimal interval packing result v 3 v 4 v 9 v 6 v 8 v 2 v 5 or the optimality of interval packing in a greedy left-edge algorithm, given a set of intervals, it is known that there exists an immediately left geometrical relation between two adjacent intervals on the same track. Since the binary relation has the reflective, anti-symmetric and transitive properties, the interval set with the immediately left relation forms a partially ordered set(post). urthermore, the intervals on the same track can form an interval chain and the overlapping intervals can form an interval anti-chain. ccording to ilworth s theorem[9] for a POST, the minimum number of the interval chains in a POST is equal to the maximum number of intervals in an interval anti-chain for a POST. ased on the construction of the interval chains in a greedy left-edge algorithm, its optimality of minimizing the number of assigned tracks can be maintained by assigning any interval onto the available bottommost track. Theorem 1: iven a set of n intervals, { 1, 2,, n, for interval packing, the greedy left-edge algorithm can minimize the number of assigned tracks to assign all the intervals onto the used tracks. Proof: iven a set of n intervals, { 1, 2,, n, its corresponding interval graph can be constructed. t is clear that the interval packing problem is a vertex-coloring problem in the corresponding interval graph. t is assumed that the left-edge algorithm uses k tracks to assign all the n intervals. or any assigned interval, j, on the k-th track, the interval, j, must overlap (k-1) intervals in the other (k-1) tracks according to the assignment process in the leftedge algorithm. t is clear that the k overlapping intervals can represent a k-clique in the corresponding interval graph and k colors must be used for the k-clique in a vertex-coloring problem. Therefore, it is necessary for interval packing to assign the interval, j, on the k-th track. learly, the greedy left-edge algorithm is optimal in interval packing. Q... 4. OPTML LYR SSNMNT OR US-ORNT SP ROUTN iven a set of buses between two adjacent pin arrays, an optimal layer assignment is proposed for bus-oriented escape routing and the assignment process is divided into two sequential phases: onstraint generation and onstraint-aware layer assignment. 4.1 onstraint eneration n two adjacent pin arrays, any bus, b i, has a left projection interval, l i, in the left array and a right projection interval, r i, in the right array. asically, each left interval, l i =[l l i, l u i], is defined by its lower coordinate, l l i, and its upper coordinate, l u i. Similarly, each right interval, r i =[r l i, r u i], is defined by its lower coordinate, r l i, and its upper coordinate, r u i. t is known that two buses must be assigned onto two different layers if any conflict condition in igure 2 happens for two buses. Therefore, the conflict conditions of all the buses between two adjacent pin arrays must be considered as the constraints in layer assignment for bus-oriented escape routing. or the conflict condition in igure 2, it is clear that the left projection intervals, l i and l j, or the right projection intervals, r i and r j, of two buses, b i and b j, overlap. The overlapping relations in the left and right projection intervals must be used as the constraints in layer assignment for bus-oriented escape routing. ence, two interval graphs must be constructed to maintain all the overlapping relations in the left and right projection intervals. Refer to the 11 buses between two adjacent pin arrays in igure 3, 9 overlapping relations in the left pin array and 10 overlapping relations in the right pin array are maintained in two interval

graphs as illustrated in igure 6 and igure 6, respectively. or the conflict condition in igure 2, it is clear that the orders of two buses, b i and b j, between two adjacent pin arrays are different. The crossing relations of all the buses between two adjacent pin arrays must be also used as the constraint in layer assignment for bus-oriented escape routing. ence, a conflict graph can be constructed to maintain the crossing relations of all the buses between two adjacent pin arrays. Refer to the 11 buses between two adjacent pin arrays in igure 3, 3 crossing relations can be also maintained in a conflict graph as illustrated in igure 6(c). ased on the overlapping relations in two interval graphs and the crossing relations in a conflict graph for all the projection intervals, if the left projection intervals are considered in layer assignment for bus-oriented escape routing, the overlapping relations in the right interval graph and the crossing relations in the conflict graph will be treated as the assignment constraints on the same layer. Similarly, if the right projection intervals are considered in layer assignment for bus-oriented escape routing, the overlapping relations in the left interval graph and the crossing relations in the conflict graph will be treated as the assignment constraints on the same layer. Refer to the two interval graphs and the conflict graph for all the projection intervals in igure 6, 10 overlapping relations and 3 crossing relations are treated as the assignment constraints in layer assignment of the left projection intervals as illustrated in igure 7. Similarly, 9 overlapping relations and 3 crossing relations are treated as the assignment constraints in layer assignment of the right projection intervals as illustrated in igure 7. (c) igure 6 onstruction of two interval graphs and a conflict graph for all the projection intervals igure 7 onstraint generation for constraint-aware layer assignment 4.2 onstraint-ware Layer ssignment iven a set of assignment constraints on the same layer, the constraint-aware layer assignment for all the buses between two adjacent pin arrays can be treated as a constrained interval packing problem for the left or right projection intervals with a set of assignment constraints. s mentioned in Section, it is known that the interval packing problem can be optimally solved by using a greedy left-edge algorithm. n the left-edge algorithm, the intervals are firstly sorted according to their left coordinates of all the intervals. t is also known that its optimality can be maintained to minimize the number of assigned tracks by assigning any sorted interval onto the bottommost available track. f no available track is used for any sorted interval, a new track will be created and the sorted interval will be assigned onto the new track. ue to the given assignment constraints in constrained interval packing, the sorted intervals may not be greedily assigned one by one to obtain an optimal solution by using the left-edge algorithm. To avoid the non-optimal assignment in constrained interval packing, the sorted intervals must be grouped into assignment sets and greedily assigned set by set to obtain an optimal solution by using a modified left-edge algorithm. n the modified left-edge algorithm for constrained interval packing, the intervals are firstly sorted according to the left coordinates of all the intervals and saved in an interval queue. nitially, the first interval in the queue must be assigned onto the first track and the assigned interval must be deleted from the queue. n the set-by-set interval assignment, it is assumed that k tracks have been used for these assigned intervals. f the first interval in the queue is not able to be assigned onto any of k available tracks under its assignment constraints, a new track will be created, the interval will be assigned onto the new track and the assigned interval will be deleted from the queue. On the other hand, if the first interval in the queue is able to be assigned onto one of k available tracks under its assignment constraints, an overlapping set including the first interval will be obtained from the queue. n the overlapping set, any pair of two intervals must overlap each other. f the number of intervals in the overlapping set is not larger than k, all the intervals in the set will form an assignment set. On the other hand, if the number of intervals in the overlapping set is larger than k, k sorted intervals in the set will form an assignment set. n the modified left-edge algorithm, the intervals in an assignment set must be simultaneously considered to be assigned onto the available bottommost tracks. or constrained interval packing onto k available tracks, all the possible assigned tracks of the intervals can be found according to the assignment constraints of all the intervals in an assignment set. Under the constraint of the assignment order for the sorted intervals in an assignment set, a maximum subset of sorted intervals will be found to be assigned onto the k available layers by using an exhaustive search. urthermore, all the intervals in the maximum subset can be assigned onto the available bottommost tracks and the assigned intervals in the maximum subset will be deleted from the queue. Until the intervals in the queue are fully assigned, the assignment process will stop. learly, its optimality of the modified left-edge algorithm is also maintained to minimize the number of assigned layers by assigning the sorted intervals in an assignment set onto the available bottommost tracks. f the projection intervals of all the buses for layer assignment are treated as the intervals for track assignment, the optimal solution in constrained interval packing will be the optimal solution in constraint-aware layer assignment.

4.3 Optimal Layer ssignment for us- Oriented scape Routing With the constraint generation of all the buses between two adjacent pin arrays, based on the design of a modified left-edge algorithm, an optimal constraint-aware algorithm is proposed to minimize the number of assigned layers and assign all the buses onto the used layers for bus-oriented escape routing and the optimal algorithm, OL, is described as follows: OL() nput: a set of n buses, = {b 1, b 2,, b n, between two adjacent pin arrays; { ind the set of left projection intervals, {l 1, l 2,, l n, and the set of right projection intervals, {r 1, r 2,, r n, for the n buses, b 1, b 2,, and b n; onstruct two interval graphs, L and R, for two interval sets, {l 1, l 2,, l n and {r 1, r 2,, r n, and a conflict graph,, for the n buses, b 1, b 2,,and b n,; Set L (or R) as the assignment graph and onstruct the assignment constraints by combining the edges in R (or L) and ; Sort all the intervals in an increasing order according to the lower coordinates of all the projection intervals in in L (or R) and Save the sorted intervals into an interval queue, U; et the first sorted interval from U and ssign the interval onto the first layer; elete the assigned interval from U; k=1; while (U is not empty) { et the first sorted interval,, from U; if (the interval, i, cannot be assigned onto one of k available layers) { reate a new layer and ssign the interval, i, onto the new layer; dd the new layer into the available layers; k=k+1; U=U-{i; else { ind a set of at most k sorted intervals,, including the interval, i, such that any pair of two intervals in overlaps each other; ind a maximum subset,, of sorted intervals in to assign the intervals in onto k available layers according to the assignment constraints of the intervals in ; ssign the sorted intervals in onto k available layers; U=U-; Output the assignment result of all the intervals on the assigned layers; s mentioned above, our proposed optimal layer assignment for bus-oriented escape routing is divided into two phases: onstraint generation and onstraint-aware layer assignment. or a set of n buses between two adjacent pin arrays, the time complexity of constructing two interval graphs for the left and the right projection intervals and a conflict graph of all the buses is O(n 2 ). ence, the time complexity in the generation of the assignment constraints for the constraint generation is O(n 2 ). urthermore, based on the optimality of constrained interval packing in a modified left-edge algorithm, given a set of assignment constraints, the time complexity of sorting all the intervals in the assignment graph is O(nlogn). Since the time complexity of assigning all the sorted intervals in a set-byset style is O(n), the time complexity of assigning all the intervals for the constraint-aware layer assignment is O(nlogn). s a result, the time complexity of finding an optimal assignment result of all the buses for bus-oriented escape routing is O(n 2 ), where n is the number of buses between two adjacent pin arrays. Theorem 2: iven a set of n buses, {b 1, b 2,, b n, between two adjacent pin arrays, the algorithm, OL, minimizes the number of assigned layers and assigns all the buses onto the used layers under a set of assignment constraints. Proof: iven a set of n buses, {b 1, b 2,, b n, the interval graph of the corresponding projection intervals can be constructed for the assignment graph and a set of assignment constraints from the other interval graph and the conflict graph can be generated. t is clear that the constraint-aware layer assignment problem is a constrained interval packing problem under a given set of assignment constraints. t is assumed that the OL algorithm uses k layers to assign all the n buses with satisfying all the assignment constraints. or any assigned bus, b j, in the k-th layer, the bus, b j, cannot be assigned onto any of the other (k-1) layers according to the assignment process in the OL algorithm. Therefore, it is necessary for constraint-aware layer assignment to assign the bus, b j, in the k-th layer. learly, the OL algorithm minimizes the number of assigned layers and assigns all the buses onto the used layers under a set of assignment constraints. Q... ased on the assignment constraints in igure 7, the left projection intervals of all the buses are sorted as illustrated in igure 8 and the optimal constraint-aware layer assignment can be obtained as follows: irstly, buses, and, are sequentially assigned onto the first and second layers, respectively. gain, an assignment set of two buses, and, are considered for constraint-aware layer assignment and the buses, and, are assigned onto the first and second layers, respectively. urthermore, bus,, is assigned onto the first layer. gain, an assignment set of two buses, and, are considered for constraint-aware layer assignment and the bus,, is assigned onto the first layer. Next, buses, and, are sequentially assigned onto the third and first layers. gain, an assignment set of two buses,, and, are considered for constraint-aware layer assignment and the buses, and, are assigned onto the first and third layers, respectively. inally, bus,, is assigned onto the third layer. learly, 6 buses,,,,, and, are assigned on the first layer, 2 buses, and, are assigned on the second layer and 3 buses,, and, are assigned on the third layer. ased on the assignment constraints in igure 7, the left projection intervals of all the buses are sorted as illustrated in igure 8 and the optimal constraint-aware layer assignment can be obtained as follows: irstly, the bus,, is assigned onto the first layer. gain, an assignment set of two buses, and, are considered for constraint-aware layer assignment and the buses, and, are assigned onto the first and second layers, respectively. urthermore, an assignment set of two buses, and, are considered for constraint-aware layer assignment and the bus,, is assigned onto the first layer. gain, the buses,, and, are sequentially assigned onto the third, first and first layers, respectively. Next, an assignment set of three buses,, and, are considered for constraint-aware layer assignment and the buses,, and, are assigned onto the second, first and third layers, respectively. inally, the bus,, is assigned onto the second layer. learly, 6 buses,,,,, and, are assigned on the first layer, 3 buses,, and, are assigned on the second layer and 2 buses, and, are assigned on the third layer. 5. XPRMNTL RSULTS n layer assignment for bus-oriented escape routing, our proposed optimal algorithm has been implemented by using standard ++ language and run on a ntel ore2 Quad Q9450 2.66z machine with 2 memory. ight tested examples, x01, x02, x03, x04, x05, x06, x07 and x08, are obtained according to the random generation of the left and right projection intervals for all the buses. n Table, #us denotes the number

of the given buses between two adjacent pin arrays and #Layer denotes the number of assigned layers for the given buses between two adjacent pin arrays. urthermore, we also implement ong s heuristic algorithm[4] and Yan s optimal algorithm[5] for the comparison of the final assignment result and PU time for eight tested examples. 1 2 1 2 1 2 1 1 1 1 2 1 2 1 2 1 1 3 1 1 1 2 1 3 1 1 igure 8 Optimal constraint-aware layer assignment 1 2 1 2 1 1 3 1 1 3 3 1 1 2 1 3 1 1 2 1 3 2 ompared with ong s heuristic algorithm[4], it is proved that our proposed optimal algorithm guarantees that the number of assigned layers is minimized and the experimental results show that our proposed algorithm reduces 8.8% of assigned layers for eight tested examples on the average. ompared with Yan s O(n 2.38 ) optimal algorithm[5], it is proved that our proposed optimal algorithm has better time complexity in O(n 2 ) time and the experimental results show that our proposed algorithm reduces 33.6% of PU time for eight tested examples on the average, where n is the number of buses between two adjacent pin arrays. 6. ONLUSONS ased on the optimal feature of a left-edge algorithm for interval packing, a modified left-edge algorithm is proposed to optimally solve the layer assignment problem for bus-oriented escape routing. irstly, a set of assignment constraints for the overlapping relations of the left or right projection intervals and the crossing relations of all the buses between two adjacent pin arrays is generated. urthermore, with the consideration of the assignment constraints, an optimal constraint-aware algorithm is proposed to minimize the number of assigned layers and assign all the buses onto the used layers. 7. RRNS [1].. oombs, editor. Printed ircuits andbook. Mcraw-ill, 6 th edition, 2007. [2] M. M. Ozdal and.. Wong, length-matching routing algorithm for high-performance printed circuit boards, Transactions on omputer-ided esign, pp. 2784-2794, 2006. [3] M. M. Ozdal and.. Wong, Simultaneous escape routing and layer assignment for dense Ps, /M nternational onference on omputer-ided esign, pp.822-829, 2004. [4]. ong, T. Yan,.. Wong and M. M. Ozdal, Optimal bus sequencing for escape routing in dense Ps, nternational onference on omputer-ided esign, pp.390-395, 2007. [5] T. Yan,. ong and.. Wong, Optimal layer assignment for escape routing of buses, nternational onference on omputer- ided esign, pp.245-248, 2009. [6] M.. olumbic, lgorithmic raph Theory and Perfect raphs. New York: cademic, 1980. [7]. ashimoto and. Stevens, Wire routing by optimizing channel assignment within large apertures, the 8th esign utomation Workshop, pp.155-169, 1971. [8] U.. upta,. T. Lee, and Y. T. Leung, n optimal solution for the channel-assignment problem, Transactions on omputers, Vol.28, no.11, pp.807-810, 1979. [9] R. P. ilworth, decomposition theorem for partially ordered sets, nnals of Mathematics, vol.51, no.2, pp.161-166, 1950. [10] T.. ormen,.. Leiserson and R. L. Rivest, ntroduction to lgorithms, MT Press, 2000. TL XPRMNTL RSULTS O LYR SSNMNT OR US-ORNT SP ROUTN #us ong s euristic lgorithm[4] Yan s Optimal lgorithm[5] Our Optimal lgorithm #Layer Time(s) #Layer Time(s) #Layer Time(s) x01 10 4(100%) 0.05(100%) 4(100%) 0.05(100%) 4(100%) 0.03(60.0%) x02 20 9(100%) 0.22(81.5%) 8(88.9%) 0.27(100%) 8(88.9%) 0.15(55.6%) x03 40 13(100%) 0.57(83.8%) 12(92.3%) 0.68(100%) 12(92.3%) 0.45(66.2%) x04 80 24(100%) 1.97(85.3%) 22(91.7%) 2.31(100%) 22(91.7%) 1.53(66.2%) x05 120 36(100%) 3.83(95.5%) 32(88.9%) 4.01(100%) 32(88.9%) 2.92(72.8%) x06 160 49(100%) 6.52(93.4%) 44(89.8%) 6.98(100%) 44(89.8%) 5.17(74.1%) x07 320 82(100%) 14.63(92.7%) 72(87.8%) 15.78(100%) 72(87.8%) 10.93(69.3%) x08 640 145(100%) 30.84(93.0%) 131(90.3%) 33.16(100%) 131(90.3%) 22.29(67.2%)