Predictable Routing 1 Introduction 2 Preliminaries - CiteSeerX

13 downloads 0 Views 234KB Size Report
wirelength. Placement tools can bene t from predictable routing be- cause they often do quick routings in order to get an idea of congestion and wirelength.
Predictable Routing Ryan Kastner, Elaheh Bozorgzadeh and Majid Sarrafzadeh Department of Electrical and Computer Engineering Northwestern University kastner,elib,[email protected]

Abstract

the quality of the routing solution. Since we know these metrics will not e ect the routing, the placement tool can use predictable routing to model congestion and wirelength accurately. Also, if we know the route of a net, we can start wire sizing, wire planning and optimally add bu ers1 at the placement stage. As fabrication technology moves into deep submicron (DSM) device sizes, local interconnect e ects have an increasingly dominant role [6]. These e ects include increasing interconnect capacitance and resistance. Logic synthesis tools have no accurate way of modeling interconnect. Predictable routing gives these tools a way to predict the interconnect accurately. These ideas are further explained in Section 3.1. In this paper, we propose modi cations to the maze routing algorithm. These modi cations allow nets to be predictably routed with little or no loss in the quality of the global routing solution. In Section 2, we give some preliminaries for the rest of the paper. In particular, we discuss the idea of congestion and describe maze routing. Section 3 introduces the idea of predictable routing through pattern routing. We discuss the 1-density routing problem which uses the pattern routing concept. In Section 4, we present heuristics for nding a subset of nets which can be predictably routed and show the results of those heuristics. We conclude in Section 5.

In this paper we introduce the idea of predictable routing. Predictable routing is the concept of using prespeci ed patterns to route two terminal nets. Predictable routing is fast and accurate. By doing this, we give high level CAD tools like the placement engine and logic synthesis tools a way to more accurately predict metrics such as congestion and wirelength. Placement tools can bene t from predictable routing because they often do quick routings in order to get an idea of congestion and wirelength. Using predictable routing, the placement tool can be assured that the nets are going to be routed in a speci c manner. Additionally, predictable routing will increase the speed of the router. As fabrication technology moves into deep submicron (DSM), interconnect has an increasingly dominant role in capacitance and coupling. Most logic synthesis tools do not consider interconnect when doing optimizations (e.g. delay, power). Predictable routing gives these tools a way to more accurately estimate the interconnect properties. We can do this since the nets will be routed in a prespeci ed pattern. Also, we can start wiring sizing, bu er insertion and wire planning much earlier if we use predictable routing. In this paper, we show that we can predictably route up to 80% of a selected set of nets while incurring little to no loss in the routing solution quality. Also, we give heuristics for nding nets which can be predictably routed. Speci cally, a set of 1-density routable nets can be predictably routed. We present an algorithm that can solve the 1-density decision problem in polynomial time. Using these heuristics, we show that the nets can be predictably routed without a loss in the quality of the routing solution. A grid graph is a graph G(V,E) such that each vertex corresponds to a point in a plane. See Figure 1 for further explanation. A net = f(x1 ; y1 ; ); (x2 ; y2 ); (x3 ; y3 ); :::; (xn ; yn )g is an unordered set of points on a grid graph. A single point of the net is referred to as a terminal. A routing of a net is a set of grid edges such that the terminals are fully connected. The route edges of a net are the set of edges used in The process of routing can be divided into two subproblems, global and the routing of that net. detailed routing. Global routing decomposes the routing problem into A global bin is a rectangular partition of the chip. By partitioning smaller, manageable routings for the detailed router. Speci cally, the global router nds a rough path for each net while trying to reduce the the chip into many rectangular regions and placing the cells into these chip size, shortening the wire length and distributing the congestion regions, we have a placement using global bins. The boundaries of the across the routing area, among other things [19, 22, 31]. Detailed global bins are global bin edges. routing uses the results of global routing to nd an exact realization Global Bins of the interconnections in VLSI circuits. The focus of this paper is on 000000 111111 000 111 000 111 000000 111111 Global Bins 000000 000 111 000 111 000000 111111 a) b) 111111 000000 111111 000 111 000 111 000000 111111 the global routing problem. 000000 111111 000 111 000 111 000000 111111 000000 111111 000 111 000 111 000000 111111 11111111111 00000000000 000000 111111 000 111 000 111 000000 111111 The global routing problem is known to be NP-hard [29]. This mo00 11 00 11 tivates the use of heuristic and approximation algorithms. The maze 00 11 11111111111 00000000000 00 11 Global 00Global 11 routing (or maze running) algorithm [4] is a widely used method for 00 11 Edges 00 11 Edges 00 11 global routing [7, 10, 14, 17, 23, 25]. Brie y, the maze routing algo11111111111 00000000000 00 11 00 11 00 11 rithm starts from a source point and recursively searches it's neighbors 00 11 11111111111 00000000000 for the best route until it reaches the sink point. The best route is de ned by a function of congestion, wire length, chip size, number of 11111111111 00000000000 bends, etc.. There have been several proposed extensions and modi cations to Lee and Moore's algorithm in the almost 40 years since it Cells has been introduced, but the underlying method remains the same. Predictable routing is the idea of using prespeci ed patterns to Figure 1: (a) Placement of cells into global bins. (b) The route two terminal nets. This is particularly useful for high level CAD corresponding grid graph. tools (i.e. tools preceding global routing). Most placement tools use 1 If we know the net topology the complexity of bu er insertion for quick routing metrics to nd congestion and wirelength information. In this paper, we develop quick routing methods that do not e ect delay becomes polynomial time solvable [15].

2 Preliminaries

1 Introduction

1

In this paper, we assume that a global placement of cells and their interconnections are given by some placement engine (our experiments used NRG [20] which is comparable in quality to commercial version of Timberwolf [32]). The cells are placed into global bins and each cell is assumed to be placed in the center of the global bin. Looking at Figure 1, it is easy to see that the global bins and edges can be transformed into a grid graph. The interconnections between the cells can be modeled by nets.

11 00 00 11 00 11 00 11

11 00 00 11

(a)

(b)

11 00 00 11

11 00 11 00 00 11 00 11 11 00 00 11 00 11 00 11

Figure 2: (a) L-shaped routing of 2 two-terminal nets. (b) Z-shaped routing of 2 nets.

2.1 Congestion

For nets with more than two-terminals, we use Steiner trees to partition the net into a set of two-terminal nets. There is much research on Steiner trees and the Steiner minimal tree (SMT), a Steiner tree with minimum total cost. The general SMT problem is NPhard [9] and there are many exact and heuristic SMT algorithms [1, 3, 5, 8, 11, 12, 18]. We use a heuristic SMT algorithm based on Prim's Minimum Spanning Tree (MST) algorithm [28] and maze routing. First, we partition the multi-terminal (more than 3 pins) nets into two-terminal pairs through Prim's MST algorithm. Then, we route each of these pairs through maze routing. The maze routing terminates if the sink is reached or if the maze routing path encounters a routing from another one of the net's two-terminal pairs. This will create a fully connected routing of a multi-terminal net. It would be easy to incorporate other MST heuristics into our algorithm. We choose our heuristic for its simplicity and speed. Each net is given an initial route and then a rip-up and reroute phase is applied to further minimize the total over ow. This technique (or variants of it) appears in most global routers in order to deal with the net ordering problem [26]. During rip-up and reroute, the bin edges are sequentially searched. If an edge is over own, then all of the nets that pass through that edge are ripped and rerouted. This process continues until the total over ow converges to a local minimum. That n is, if the total over ow does not decrease (the goal is to minimize the overflow = overflowe total over ow) after  iterations, rip-up and reroute has completed. e=1 We found that a  of 200 gave good results for the designs that we where n is the number of bin edges. The total over ow re ects the tested. Larger designs may need an increased  which decreases the shortage of routing resources for a particular set of edge capacities. A chance of getting stuck in a local minimum. In general, smaller designs routing with a minimized total over ow is one of the objectives of our can a ord to decrease  which would decrease the runtime. global router. Our industrial experience shows that total over ow is a good measure of congestion.

Congestion in a layout means that there are too many nets routed in a local area. This causes diculty for the detailed router as it may not nd a feasible routing solution. We want to evenly distribute the routing across the total chip area. The congestion of an edge is the number of nets routed over a global bin edge. From now on, we will refer to a global bin edge g as eg . The capacity (also referred to as supply) of edge eg is cg . It is the maximum number of nets that can be routed over eg . cg is a xed value that is based on the length of the edge and the technology used in creating the chip. The routing demand of eg , speci ed as dg , is de ned as the number of route edges crossing eg . Similarly, the demand of a vertex v is dv . Here the demand corresponds to the number of routes that pass though the vertex v (equivalently the global bin v). An edge is over own if and only if the de > ce . Formally, the over ow of an edge is: d e > ce overflowe = 0de ? ce ? t ifotherwise t is a threshold value which allows de to go above ce without an over ow penalty. t is used since you can often route up to t nets though neighboring bins without e ecting the congestion of those bins. t is usually a small constant ( 2-5). Using the global bin and global edge notation, the total over ow of a routing is:

n

X

3 Predictable Routing

2.2 Global Maze Routing

3.1 Pattern Routing

We implemented a global maze router. The maze router takes every Pattern routing is the notion of using prede ned patterns to route two net and routes them one at a time according to a cost function. terminal nets. Usually these are simple patterns such as a L-shaped (sometimes called 1-bend) or a Z-shaped pattern (2-bends, route reoverflowroute = overflowe stricted within bounding box) (See gure 2). e2RouteEdges Patterns can speed up the global routing process. Instead of maze routing every net, we pattern route a portion of the nets. In general, lengthroute =j RouteEdges j maze routing will consider many bins that the nal route will not costroute =  overflowroute + lengthroute actually use. When using pattern routing, only a constant number of costroute costtotal = edges are searched for over ow information. For example, L-shaped pattern routing will only search the edges on the bounding box of the allnets There is a tradeo between minimizing over ow and minimizing two terminal nets. Then, depending on cost of these edges, it will wire length. Ideally, you could minimize both concurrently. Most choose the upper-L or lower-L and place the route there. Similarly, Zoften this is not possible. Our cost function can solely minimize wire shaped pattern routing needs only search the edges on the perimeter length (set = 0). Likewise you can minimize over ow by setting and inside the two-terminal bounding box. On the other hand, maze  1. We found that varying from 10 to 100 minimizes the total routing will search every edge (on the worst case). Therefore, pattern routing has a better upper bound on runtime complexity. We found over ow while keeping the wire length minimal. Also, we have added the goal-directed unidirectional search heuris- that on average, the pattern routing approach searches fewer edges tic [24] (also known in AI as A*) to improve the run time of the maze than the maze router. We formally summarize the complexities: router. This heuristic adds the length from the source and the esti1. Given a net n = f(x1 ; y1 ); (x2 ; y2 )g and a grid graph G(V,E). mated length to the sink to the cost function. This allows the most 2. Let A be the edges on and within the bounding box of n. A  direct routes from source to sink to be searched rst. Most often, the E. jAj = 2  jx1 ? x2 j  jy1 ? y2 j + jx1 ? x2 j + jy1 ? y2 j actual routing closely resembles the direct route. This fact is the motivation for this heuristic and allows a run time improvement with little 3. Let P be the edges on the bounding box of n. P  A. jP j = sacri ce in the quality of the routing solution. 2  (jx1 ? x2 j + jy1 ? y2 j)

X

X

2

4. Maze routing - O(jE j) 5. L-shaped pattern routing - O(jP j) 6. Z-shaped pattern routing - O(jAj) Theorem 3.1: jP j  jAj  jE j. Proof: The proof is trivial since, by de nition, P  A  E . 2

true. Finally, note that x )   ) y implies x ) y.

Theorem 3.2: If there is a cycle in G containing both x and x for all x 2 V, A is not SAT. Proof: The reason is that if x ) x, then x must be false. But since there is a cycle x ) x which means x must be true. We have a contradiction. Therefore, A is SAT i G does not contain any cycles including The maze router ensures that the least cost route (according to the x and x for any literal x. 2 cost function) is found. Pattern routing does not give you this luxury. In fact, an L-shaped pattern routing could produce the second worst We call the digraph G an implication graph since it models the impossible route. This occurs if both the upper-L route and the lower-L plications between the literals. Like the planar routing problem, the 1-density problem can be transroute are the two worst paths. Pattern routing will choose the better of these two solutions, giving you a bad routing. In general this is not formed into 2SAT or equivalently a implication graph. One boolean variable is associated with each net. The truth value assigned to it the case, as our results show. Another bene t of pattern routing lies in the predictability of a corresponds to the layout of the wire. Without loss of generality, we pattern-routed net. If you know that a net will be pattern routed, you say a net has an upper-L route if the corresponding variable is true can quickly and accurately estimate it's route at a higher level. For and a lower-L route if it's variable is false. Let xa be the variable example, you know that an L-shaped pattern route will take one of corresponding to net A. With respect to another net B, there are 10 two routes. This allows higher level CAD tools, such as the placement interactions that net A can have with net B. or synthesis engines, to estimate routings which will lead to better 1. A and B are independent. Either layout for each net does not congestion and area estimates. directly in uence the layout for the other. With emergence of deep submicron (DSM) fabrication technology, 2. A and B can not be 1-density routed. interconnect has an increasingly dominant role. Now the circuit delays are determined by the gate resistance and capacitance as well as the 3. The lower-L routing for A forces the upper-L routing for B. Howinterconnect resistance and capacitance [6]. When optimizing for delay ever, the upper-L routing for A does not in uence the routing of in a circuit, logic synthesis tools look at the critical path and often B. The next three cases are similar. ignore the interconnect. If we could predictably route the gates on 4. The lower-L routing of A forces the lower-L routing of B. the critical path, then we more accurately estimate the interconnect 5. The upper-L routing of A forces the upper-L routing of B. resistance and capacitance. Also, the number of vias on a patternrouted net is xed. Since vias further increase the capacitance and 6. The upper-L routing of A forces the lower-L routing of B. resistance, it is bene cial to keep them at a minimum. Vias also e ect 7. The lower-L routing of A forces a lower-L routing of B. Also, the the routability of the circuit [2]. upper-L routing of A forces an upper-L routing of B. The next three cases are similar to this case. 3.2 1-density Routing 8. Lower-L of A forces lower-L of B; Upper-L of A forces lower-L of The 1-density (1-d) routing problem tries to nd a 1-bend routing of B. two terminal nets so that no two routings overlap (crossing of wires is 9. Lower-L of A forces upper-L of B; Upper-L of A forces upper-L allowed). Let us de ne the 1-density routing problem formally: of B. 1. Given a set of two terminal nets N and a grid graph G(V,E). 10. Lower-L of A forces upper-L of B; Upper-L of A forces lower-L of B. 2. Does there exist a 1-bend routing for every net n 2 N such that de  1 for every edge e 2 E? Examples of all of these cases are given in Figure 3. A similar problem called planar routing tries to nd a routing of 1 0 the two terminal nets such that no routing intersects another route. 1) 2) 0 3) 1 0 1 Formally: 0 1 0 1 0 1 1. Given a set of two terminal nets N and a grid graph G(V,E). 0 1 0 1 0 1 0 1 0 1 0 1 2. Does there exist a 1-bend routing for every net n 2 N such that 4) 0 5) 6) 0 1 0 1 1 0 1 0 1 1 0 dv  1 for every vertex v 2 V ? There are similarities between the two problems. First, any set 0 1 0 1 0 1 0 1 0 1 of nets that can be planar routed can also be 1-density routed. The 0 1 0 9) 0 10) 1 1 0 1 0 1 7) 8) 0 1 1 0 1 0 1 0 reverse is not necessarily true. The 1-density problem is actually a relaxation of the planar problem therefore they have similar properties. The planar routing problem is addressed in [27]. They develop 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 an O(n2 ) algorithm (n is the number of nets) by transforming the Figure 3: Examples of the 10 implication cases for the 1problem into 2SAT. The 2SAT problem can be solved in polynomial time by a transformation into a digraph [30]. Fast algorithms have density routing problem. The solid points and lines correbeen developed to solve the 1-density problem and the planar routing spond to net A. The dotted lines and circles correspond to problem in O(n(logn)2 ) and O(nlogn) time respectively [21]. These the bounding box and terminals of net B, respectively. algorithms utilize complex data structure to achieve the fast run times. In order to gain more insight into the 1-density problem, we will explain how it can be transformed into 2SAT and a digraph. First we Theorem 3.3: If there is an implication xA ) xB , there is conbrie y explain the polynomial time algorithm for 2SAT which trans- trapositive implication xB ) xA . forms 2SAT into an digraph to solve the problem. Proof: Since xA ) xB , the upper-L routing of xA must intersect the Let  = i (xi _ yi ), where xi ; yi are literals over a1 ; :::;an 2 A. We lower-L routing of xB . Therefore, a lower-L routing of net B (xB ) will want to know when SAT(A) is true. De ne a digraph G = (V,E) by force a lower-L routing of net A (xA ). 2 letting V be the set of literals and (x,y) 2 E if and only if x _ y is one of the clauses. Recall that x _ y is equivalent to x ) y (implication). We Lemma 3.1: Consider a set of nets N and its corresponding implicacan assume there is no clause of the form x ) x since that is always tion graph G. There is a cycle in G containing xi and xi where i 2 N 3

i the nets N are not 1-d routable. Proof: This is a direct consequence of Theorem 3.2. This should not be surprising since we can transform the 1-d problem into 2SAT. 2

Data Num le Cells prim1 833 prim1.2 833 prim2 3014 prim2.2 3014 avqs 21584 avqs.2 21584 biomed 6417 biomed.2 6417 struct 1888

Lemma 3.2: Given a set of nets N, there is a polynomial time algorithm to determine if these nets are 1-d routable. Proof: Given a set of nets, we can nd the implications between the nets in O(n2 ). These implications can be used to make an implication graph G. Because of Lemma 3.1, if we nd a cycle containing xi and xi the nets N are not 1-d routable. We can look for these cycles by doing a depth- rst search from every vertex. If there is a path from xi to xi and a path from xi to xi , there is a cycle containing xi and xi . We can do this for every vertex in O(jV jjE j). n2 < jV jjE j. Therefore, we can determine if the nets are 1-d routable in O(jV jjE j). 2

2

1 1

a

2

b

1) 2) 3) 4) 5) 6)

b

c

3

c a

If If If If If If

4 Evaluation

In this section, we show the e ect of pattern routing on the quality of the routing solution. We show that you can pattern route up to 80% of the nets with smallest bounding boxes while incurring little or no loss of quality. Then, we show how a set of nets that satis es the 1-density routing problem can be pattern routed without sacri cing the routing quality. This gives us the ability to pattern route a subset of all the nets, even if the nets have a large bounding box.

Xa then Xc Xa then Xb Xb then Xc Xb then Xa Xc then Xb Xc then Xa

4.1 Benchmarks

To perform our experiments, we used ve MCNC standard-cell benchmark circuits [13]. The characteristics of the circuits are shown in Table 1. The circuits were placed into global bins using the global and detailed placement engine presented in [20]. Some of the benchmarks (i.e. prim1 and prim1.2) are repeated. Repeated benchmarks di er in the number of global bins; they consist of the same number of nets, cells and pins but may have a completely di erent placement.

Net A = { (2,1), (1,3) } Net B = { (1,2), (3,1) } Net C = { (2,2), (3,3) }

c)

Xa

Xb

Xa

4.2 Pattern Routing Analysis

Xc

Xb

For our experimental results, we choose to use L-shaped pattern routing over Z-shaped for a several reasons. First, for two-terminal nets there are only two possible L-shaped routes to consider. The number of Z-shaped routes grows linearly with the bounding box size. Since we are aiming towards predictable routes, L-shaped patterns reduce the choices of routings. Secondly, we want the predictable routes chosen quickly. Once again, the time to nd the congestion of the routes is O(jP j) whereas the Z-shaped routes is O(jAj). Theorem 3.1 states the jP j  jAj. Also, our experiments show that the congestion costs using Z-shaped routing gives a congestion that is close to that of L-shaped routings. Figure 5 shows the congestion when we lock a percentage of the nets. We route the locked nets considering every possible route (maze), L-shaped and Z-shaped routes. An experiment was done that locked x% of the smallest (in terms of bounding box) nets. A locked net can only be routed once; it cannot be considered for rip-up and reroute. The locked nets are routed by L-shaped, Z-shaped or maze routings. These nets will choose the route with minimum congestion. After the locked nets are routed, the remaining unlocked nets are maze routed and are considered in the rip-up and reroute stage. The y-axis is scaled to the congestion when there are no locked nets. Therefore, point at (5, 1.10) means that if 5% of the nets are locked, then the congestion is 10% greater than that where every net is maze routed and considered in the rip-up and reroute stage. We comment on a few observations. Even though pure maze routing has the greatest freedom in terms of nding the least congested

Xc

Figure 4: a) The layout of nets A, B and C. b) The implications of the nets. c) The implication graph. x indictates an upper-L routing of net i. The implication graph does not have any cycles containing x and x , i 2 A,B,C, therefore the nets are 1-d routable. i

i

Global Bins 8 X 16 16 X 16 8 X 16 32 X 32 30 X 80 80 X 80 20 X 40 40 X 40 20 X 16

lem. In the next section, we show that we can use pattern routing and the 1-density problem to predictably route a subset of nets with little e ect on the routing solution quality. Then, we introduce heuristics that nd subsets of nets such that they can be predictably routed.

b)

3

Num Pins 3303 3303 12014 12014 84081 84081 22253 22253 5407

Table 1: Benchmark circuit information

For each implication case, up to two clauses are added to 2SAT in the transformation. These clauses correspond directly to edges in the implication digraph. Figure 4 shows a simple example for three nets. Focusing on nets A and B, we see that an upper-L routing of net A forces a lower-L routing for net B (corresponding to case 6). Therefore, we add the clause (xA _ xB ) to the 2SAT instance. In the implication graph, we add an edge from vertex xA to vertex xB . Notice that an upper-L routing of net B forces a lower-L routing of net A. This corresponds to xB ) xA which is the contrapositive of the previous statement. The other cases are similar. Notice that there are no cycles in the implication graph in Figure 4 (c). This means that these three nets can be 1-d routed. a)

Num Nets 1156 1156 3671 3671 30038 30038 7052 7052 1920

i

Obviously, if two nets are independent (case 1) no clauses or edges are added to 2SAT and the implication graph, respectively. When case 2 occurs, you know that 2SAT is not satis ed. If case 2 occurs the implications of the two nets will cause a cycle in the implication graph. Finding the maximum subset of nets such that they can be planar routed is NP-hard [27]. This is equivalent to solving the MAX2SAT problem since you can transform the planar routing problem to an instance of 2SAT. The MAX2SAT problem is NP-complete [16]. Therefore, nding the maximum subset of nets such that they can be 1density routed is also equivalent to solving the MAX2SAT problem on the transformed 2SAT instance. Note, this does not prove NPcompleteness but gives you an idea about the complexity of the prob-

4

solution, the overall algorithm is a heuristic therefore it's not guar- actually leads to better over ow results! These results further con rm anteed to nd the optimal solution. Therefore, pattern routing nets our previous statement that pattern routing can lead the maze router may lead the heuristic to better solutions. This is seen in Figure 5. to better over ow solution. When we lock some of the nets, we get a better overall congestion. The tradeo between fast routing time, reduced number of routings (better predictability) and quality of solution favors L-shaped routData le 0% 50% 60% 70% 80% 90% ing. Therefore, we will exclusively use L-shaped routing for all of our prim1 622 -8 -13 -1 -7 -2 pattern routing experiments. prim1.2 379 -3 -3 -3 1 -1 prim2 1370 -2 -10 -11 -2 18 prim2.2 665 0 -1 21 21 47 avqs 3149 -109 -25 22 -53 146 avqs.2 401 -9 3 -38 61 6 biomed 2994 -9 14 -89 -29 -43 biomed.2 15 0 0 -2 0 1 struct 769 -7 -17 -13 14 89 1.8

l-shaped z-shaped maze

1.6

1.4

1.2

total 10364 -147 -52 -114 6 261 Table 3: Congestion Data for Smallest-First Pattern Route heuristic. 0% is the base case congestion. The remaining results take the congestion and subtract the base case congestion. A negative result means that the current congestion is better than the base congestion.

1

0.8

0.6

0.4

0.2

Figure 5: Comparison of congestion using maze, l-shaped or This SFPR heuristic results may seem surprising. Looking at Table z-shaped routing. The x-axis is % of xed nets, the y-axis 4, you can see the percentage of the total route length that the smallest x% of the nets comprises. Even when you pattern route the smallest is over ow compared to maze routing every net. 90% of the nets, the route length of these small nets is, on average, 5

10

15

20

25

only 58.32% of the total route length. This means that the remaining 10% of the nets that are maze routed are much longer than the short nets. This allows the maze router enough freedom to nd a good routing, even when 90% of the nets are xed. This gives some insight as to why the LFPR heuristic does not work. If you x the long nets to a pattern, you greatly reduce the routing freedom that the maze router needs to produce a good route. Since the small nets are close in physical proximity, there are limited number of routes that these nets could take. Therefore, the maze router may nd a less congested solution, but due to the small number of feasible routes, the pattern route solution will not signi cantly vary from the best (i.e. mazerouted) solution. Additionally, small nets are often entirely located within a congested region. In this case, any shortest length path will be essentially equivalent in terms of over ow minimization. Since there is no quality improvement using maze routing, the pattern route is preferable due to it's faster run time and predictability.

Our experiments focused on determining which nets we could pattern route while incurring little to no congestion penalty. Our rst heuristic (referred to as the Largest First Pattern Route or LFPR heuristic) split the multi-terminal nets into two terminal nets and sorted them from largest bounding box to smallest bounding box. Then, we pattern routed the x% largest nets while maze routing the rest of the nets. The pattern routed nets were not rerouted during the rip and reroute phase. As shown in Table 2, pattern routing large nets gives unfavorable over ow results. If you pattern route only the largest 5% of the nets, your over ow increases 21% over maze routing every net. A similar trend occurs as you increase the pattern route percentage. Pattern routing only 20% of the nets results in an over ow over 3 times the 0% over ow. (Note, the 0% pattern route is exactly equivalent to maze routing every net; the rip and reroute stage will consider every net.) Data le prim1 prim1.2 prim2 prim2.2 avqs avqs.2 biomed biomed.2 struct

0% 70 383 117 675 115 3148 3024 22 233

5% 34 26 79 199 149 722 283 126 47

10% 35 35 130 272 198 1002 285 214 98

15% 46 53 133 330 290 1220 327 248 131

20% 41 57 138 328 346 1238 339 295 153

Data le prim1 prim1.2 prim2 prim2.2 avqs avqs.2 biomed biomed.2 struct

10% 5.75 5.60 6.31 3.71 2.77 3.61 3.64 2.94 3.27

20% 11.54 11.23 12.64 7.41 5.54 7.23 7.28 5.97 6.57

30% 17.34 16.88 18.97 11.12 8.31 10.86 10.91 8.96 9.86

50% 28.53 28.11 31.62 18.54 13.91 18.11 18.08 14.92 21.92

80% 50.69 54.67 52.19 40.96 32.83 36.56 40.80 36.26 52.26

90% 64.09 69.44 65.19 54.65 49.11 50.50 54.83 49.99 67.09

total 7787 1665 2269 2778 2935 avg 4.18 8.38 12.58 21.53 44.14 58.32 Table 2: Congestion Data for Largest-First Pattern Route heuristic. 0% is the base case congestion. The remaining Table 4: Percentage of route length used by SFPR nets. For results take the congestion and subtract the base case con- example, when you pattern route the 10% smallest nets in prim1, the route length of those nets is only 5.75% of the gestion. So 34 means a total congestion of 70+34=104 total route length The Smallest First Pattern Route (SFPR) heuristic gave encouraging results. This heuristic is similar to LFPR except here, we sort the two terminal nets from smallest to largest. Thus, an LFPR of 5% will pattern route the smallest 5% of the nets. Referring to Table 3, we can see that we can pattern route up to 80% of the nets with only a small increase in over ow. In fact, pattern routing the small nets

We have shown that you can predictably route up to 80% of the nets with small bounding boxes. Unfortunately, you can not do predictable routing on nets with large bounding boxes using the LFPR heuristic without su ering a huge loss in the quality of solution. Now, we will show that any set of 1-density nets can be predictably routed without

5

degrading the solution quality. This allows us to predictably route the nets with large bounding boxes. In Table 5, we show that predictable routing on a set of 1-d routable nets does not a ect the overall routing solution quality. Since we are trying to show that nets with large bounding boxes can be predictably routed, we used a heuristic that focused on nding such nets. Like the LFPR heuristic, we sort the nets from largest to smallest bounding box. Then, we assign an upper or lower routing to the nets so that they can be 1-d routed. Therefore, some of the largest nets are always in the set of 1-d nets. Table 5 also shows the over ow results when we pattern route a set of 1-d, 2-d, 3-d, 4-d and 5-d nets. A 1-d routing allows a maximum edge over ow of 1. Notice that some circuits allow up to 4-d routing without loss of quality. This highly depends on the number of nets and number of bins in the benchmark. For example, avqs is a large benchmark and the nets in the 3-d routing only account for 17.7% of the total routing. Compare this to prim1.2 where the nets of the 3-d routing are 35.5% of the total routing. Notice that 1d routing doesn't hurt the solution quality for all but one benchmark (here avqs.2 seems to be an anomaly since the 2-d, 3-d and 4-d routings show little degradation of the overall routing quality). Data le prim1 prim1.2 prim2 prim2.2 avqs avqs.2 biomed biomed.2 struct

base 622 379 1321 665 3149 401 4837 47 769

1-d 0 -3 0 -3 -13 22 -5 -6 -4

2-d -10 4 4 32 -20 3 -41 2 4

3-d -4 9 6 30 -121 -23 -52 -4 24

4-d -5 22 3 11 6 7 18 11 38

[3] A.V. Aho, M.R. Garey and F.K. Hwang. \Rectilinear Steiner Trees: Ecient Special-Case Algorithm". In Networks, July 1977. [4] C.Y. Lee. \An Algorithm for Path Connection and Its Application". In IRE Transactions on Electronic Computer, 1961. [5] D. Richards. \Fast Heuristic Algorithms for Rectilinear Steiner Trees". In Algorithmica, April 1989. [6] D. Sylvester and K. Keutzer. \A Global Wiring Paradigm for Deep Submicron Design". In IEEE Transactions on Computer Aided Design, February 2000. [7] E.F. Moore. \The Shortest Pathe through a Maze". Annals of the Harvard Computaion Laboratory, Vol. 30, Pt. II, 1959. [8] G. Vijayan, N. Hasan and C.K. Wong. \A Neighborhood Improvement Algorithm for Rectilinear Steiner Trees". In IEEE International Symposium on Circuits and Systems, May 1990. [9] M. Garey and D. Johnson. \The Rectilinear Steiner Tree Problem is NP-Complete". In SIAM Journal on Applied Mathematics, March 1977. [10] J. Cong and P. Madden. \Performance Driven Multi-Layer General Area Routing for PCB/MCM Designs". In Proc. ACM/IEEE Design Automation Conference, June 1998. [11] J.M. Ho, G. Vijayan and C.K. Wong. \New Algorithm for the Rectilinear Steiner Tree Problem". In IEEE Transactions on Computer Aided Design, February 1990. [12] J.M. Smith, D.T. Lee and J.S. Liebman. \An O(n log n) Heuristic Algorithm for the Rectilinear Steiner Minimal Tree Problem". In Engineering Optimizations, April 1980. [13] K. Kozminski. \Benchmarks for Layout Synthesis - Evolution and Current Status". In Proc. ACM/IEEE Design Automation Conference, June 1991. [14] K.W. Lee. \Global Routing of Row-Based Integrated Circuits". Ph.D. thesis, Pittsburgh, Yale University, May 1977. [15] L.P.P.P van Ginneken. \Bu er Placement in Distributed RCtree Networks for Minimal Elmore Delay". In Proc. International Symposium on Circuits and Systems, 1990. [16] M. Garey and D. Johnson. \Computers and Intractability: A Guide to the Theory of NP-Completeness". W.H. Freeman and Company, New York, NY, 1979. [17] M. Guruswamy and D.F. Wong. \A General Multi-layer Area Router". In Proc. ACM/IEEE Design Automation Conference, June 1991. [18] M. Sarrafzadeh and C.K. Wong. \Hierarchical Steiner Tree Construction in Uniform Orientations". In IEEE Transactions on Computer Aided Design, August 1992. [19] M. Sarrafzadeh and C.K. Wong. An Introduction to VLSI Physical Design. McGraw-Hill, New York, NY, 1996. [20] M. Sarrafzadeh and M. Wang. \NRG: Global and Detailed Placement". In Proc. IEEE International Conference on Computer Aided Design, November 1997. [21] M. Sarrafzadeh and T. Takahashi. \A Fast Algorithm for Routability Testing". In Proc. IEEE International Symposium on Circuits and Systems, April 1998. [22] N. Sherwani. \Algorithms For VLSI Physical Design Automation". Kluwer Academic Publishers, Boston, MA, 1993. [23] N.K. Sehgal et al. \A Gridless Multi-layer Area Router". In Proc. Great Lakes Symposium on VLSI, March 1991. [24] P. Hart, N. Nilsson and B. Raphael. \A Formal Basis for the Heuristic Determination of Minimum Coast Paths". In IEEE Transactions on Systems, Science and Cybernetics, 1968. [25] R. Dutta et al. \Multi-layer Area Routing Algorithmas an Optimization Problem". In Proc. IEEE Custom Integrated Circuits Conference, 1997.

5-d 7 39 5 42 20 82 -7 6 56

total 12190 -12 -22 -135 121 250 Table 5: Over ow information for pattern routing a set of x-d nets. x is varied from 1 to 5. The base case is the total over ow with pure maze routing. The next columns are current over ow - base case. A lower value means better over ow hence a better solution.

5 Conclusion

In this paper, we introduced the idea of predictable routing. Predictable routing is bene cial to higher level CAD tools since it allows them to choose the routings of a subset of nets while insuring the quality of the routing solution. In addition, we showed that predictable routing can help even at the global routing stage by leading the router nd a better solution. We looked for nets that can be predictably routed without degrading the quality of the routing solution. Even with this limitation, we show that we can predictably route up to 80% of the nets. Also, we show that predictable routing works with large nets if they are 1-d routable. Our future research will focus on better heuristics for nding a set of 1-d nets. We plan to utilize the properties of the implication graph to develop graph algorithms to solve the 1-d problem.

References

[1] A. Kahng and G. Robins. \A New Class of Steiner Tree Heuristics with Good Performance: The Iterated 1-Steiner Approach". In Proc. IEEE International Conference on Computer Aided Design, November 1990. [2] A. Kahng, S. Mantik and D. Stroobandt. \Requirements for Models of Achievable Routing". In Proc. International Symposium on Physical Design, April 2000.

6

[26] R. Nair. \A Simple Yet E ective Technique for Global Wiring". In IEEE Transactions on Computer Aided Design, March 1987. [27] R. Raghavan, J. Cohoon and S. Sahni. \Single Bend Wiring". In Journal of Algorithms, June 1986. [28] R.C. Prim. \Shortest Connection Networks and Some Generalizations". Bell System Technical Journal, 1957. [29] R.M. Karp. \Reducibility Among Combinatorial Problems". Complexity of Computer Computations, New Rouk: Plenum, 1972. [30] S. Even, A. Itai and A. Shamir. \On the Complexity of Timetable and Multicommodity Flow Problems". In SIAM Journal of Comp., 1976. [31] T. Lengauer. \Combinatorial Algorithms for Integrated Circuit Layout". John Wiley and Sons, New York, 1990. [32] W.J. Sun and C. Sechen. \Ecient and E ective Placement for Very Large Circuits". In Proc. International Conference on Computer Aided Design, November 1993.

7