Channel density reduction by routing over the cells - CiteSeerX

6 downloads 0 Views 465KB Size Report
Aug 8, 1991 - ning the ULTRIX operating system to solve the formulation. The benchmarks we used are same as that in [8]. Table I compares our results with ...
IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN. VOL. IO, NO. 8. AUGUST 1991

I067

Short Papers Channel Density Reduction by Routing Over the Cells Min-Siang Lin, Houmg-Wem Pemg, Chi-Yi Hwang, and Youn-Long Lin Abstract-We propose a new approach for reducing the density of a channel by routing some nets (or subnets) over the cells (i.e., outside the channel). Previous research assumed that the more nets being routed over the cells the greater the reduction in the channel density. We show that only the removal of critical nets contributes to the reduction in the channel density. We divide channel into zones where each zone has a zone density and the removal of any net from a zone will reduce its density by one. In order to reduce the channel density, only certain critical zones need to have their nets routed over the cells. A bipartite graph is used to represent the relationship between nets and zones. The problem is transformed into a constrained covering problem and formulated as an integer linear programming problem. In comparison with previous research, our approach reduces more channel densities while using fewer tracks over the cells. For Deutsch’s difficult khannel, a previous aiiproach needs 15 tracks over the cells to reduce the channel density by 3 while we need only 5 tracks to achieve the same result

.

Index Terms-Over-the-cell routing, channel density reduction, standard-cell layout, VLSI routing, integer linear programming.

I. INTRODUCTION Channel routing is one of the more well-developed techniques in physical design automation of VLSI. Many good algorithms/tools are capable of producing results with quality equal or very close to the theoretical lower bound. In a two-layer If-Vmodel, the channel density is a lower bound on the number of tracks needed. Notable works include [ 11-[5]. Due to the advent of semiconductor fabrication technology, more layers (e.g., 2 or 3 metal layers) are available for interconnection in integrated circuit design. In order to further reduce the routing area, over-the-cell routing has been proposed [6]-[8]. Reference [7] calls it permeation routing. The basic idea is to use one layer over the cells (i.e., outside the channel) for routing some nets (or subnets), so that the number of nets needed to be routed inside the channel is reduced. This could result in a shorter channel, hence, a smaller chip layout. For example, Fig. 1, borrowed from [8], shows a channel instance along with its over-the-cell routing solution. The original channel density is 4 while both the final density and the channel height are 3. Previous research assumed that the more nets being routed over the cells, the greater the reduction in channel density. In this paper, it is shown that only the routing of critical nets will contribute to the reduction in the channel density and propose a new approach that selects a “right” set of nets to route over the cells. Our soluManuscript received April 24, 1990; revised May 14, 1990. This work was supported in part by the National Science Council, R.O.C., under Contract 80-0404-E-007-019. This paper was recommended by Associate Editor A. E. Dunlop. The authors are with the Department of Computer Science. Tsing Hua University, Hsin-Chu, Taiwan 30043, Republic of China. IEEE Log Number 9143305.

Upper Cells

I

-

I

I Channel

I Lower Cells ~

~

~~

Fig. 1. A channel with over-the-cell routing. tion is formulated as an integer linear programming problem based .on a zone-representation of the channel and a bipartite graph model. In the next section we briefly survey the previous approach for the over-the-cell routing problem. A zone representation borrowed from [4]is presented in Section 111. The coverage relationship between zones and nets is modeled using a bipartite graph which is described in Section IV. In Section V we formulate the over-thecell routing problem using integer linear programming method. In Section VI, we extend our formulation to handle channel with multiterminal (more than two) nets. Comparison between our and previous results is given in Section VII. Finally, in Section VI11 we draw a conclusion and discuss possible directions for future research. 11. PREVIOUS WORK The common approach taken by previous researches to the overthe-cell routing problem is to divide the problem into three steps [71: 1) routing over the cell,

2 ) choosing net segments within the channel; 3) routing within the channel. During the first step, they try to route as many nets over the cells as possible. This is based on the intuition that the fewer the nets left within the channel, the fewer tracks a conventional channel router will need to complete. After a net has been partially routed outside the channel, a proper subset of its terminals are chosen in the second step to be connected within the channel (the third step) in order to preserve the connectivity. The third step can, of course, be done by any conventional channel routers. Our study has found that the above-mentioned approach does not treat the characteristic of the channel routing problem correctly. It is well known that, under the two-layer H-V routing model, there is a lower bound on the number of tracks needed to route a channel. That is the channel density. It is the channel density, not the amount of net segments, that dictates the routing result (measured as channel height). Blindly routing many nets over the cells as previous research did, may result in a very slight reduction in channel density. For example, Fig. 2 shows a different over-the-cell routing for the channel instance of Fig. 1. The number of tracks above and under the channel are 1 and 2 (Fig. 2) instead of 2 and 2 (Fig. l), respectively.

0278-0070/91/0800-1067$01.00 0 1991 IEEE

I068

DESIGN.

IEEE T R A NSACTIONS ON COMPUTER-AIDED

nn

VOL. 10. NO. 8. AUGUST 1991

Upper Cells

:ells

2

3

5

3

5

2

6

8

9

8

7

9

Columns: 1

2

3

4

5

6

7

8

9

10

11

12

S(i)'s: 2

1 2 3

1 2 3 4 5

1 2 3 4 5

1 2 4 5

2 4 6

4 6 7

4 7 8

4 7 8 9

7 8 9 10

7 9 10

9 10

Zones:1

1

1

1

1

2

3

4

4

5

5

5

3

3

Fig. 2 . A different solution for Fig. 1 ' s channel using fewer tracks over the cells.

It is clear that [8] routes over the cells some nets that do not contribute to the reduction in channel height. This could be severe when the capacity (numbers of tracks allowed) over the cells is limited, which is true in practice because the cell height is limited. Therefore, it is essential to route over the cells only those nets whose removal will contribute to the reduction in the channel density.

Zone Density:

5

4

4

Fig. 3. A channel and its zone representation.

Zones

Nets -

1

A

Zone Density

2

111. ZONE REPRESENTATION For convenience, we assume that all nets are two-terminal and a net is considered a candidate for routing outside the channel only when its two terminals are on the same bank (top or bottom) of the channel. This assumption will be relaxed later. In order to figure out the critical area of a channel, we borrow an ideal from [4]. According to [4], a routing channel can be divided into zones as shown in the following. The horizontal segment of a net is determined by its leftmost and rightmost terminal connections. Let S(i ) be the set of nets whose horizontal segments (net interval) intersect column i . I S(i ) 1 is called local density of column i, for that distinct members of S(i ) must be assigned to different tracks under the H-V model. This condition must be satisfied at every column. However, it is clear that we only have to consider those S(i) which are subsets of neither S(i - 1) nor S(i I). Therefore, we assign zones the sequential number to the columns at which S(i ) are maximal. Fig. 3 shows a channel along with its zone division and zone densities (borrwoed from [4] with slight modification). Let den(zi) be the density of an arbitrary zone i . the channel is equal to max(den(z;)). It is clear that removal of density D,ni,ial any net from zone i will reduce den(z,) by one. If we reduce by one the density of every zone whose density equals Dinltla1. the channel density will be reduced by one. Therefore, if we want to we must remove at least reduce the channel density down to &,I, den(zi) - DRnal nets from each zone i which has den(z,) > Dfinal. A zone is critical for reducing the channel density down to DAnal if, and only if, its density is greater than DRnal. Otherwise, it is noncritical. Removal of any nets from a noncritical zone contributes nothing to our goal

+

1v. BIPARTITE GRAPHMODEL The correlation between nets and zones can be modeled as a bipartite graph B = ( V U U , E ) , where each vertex in V ( U ) represents a net (zone) and E = [e,.,\ U , E V , U, E U , and the net represented by U , intersects the zone represented by U,}. Clearly, the degree of U,, deg(u,), equals den(z,). The bipartite graph representation of the channel in Fig. 3 is shown in Fig. 4.

3 4 5

6 7

8 9 10

Nets 6 and 7 cannot be routed over the cells Fig. 4. The bipartite graph representing the channel in Fig. 3

Our problem of reducing the channel density down to Dhnal now becomes a constrained covering problem. We are to find a subset of V that covers each U E U at least deg(u) - Dhnal times, if deg(u) > Dfinal, subject to certain constraints. The constraints come from that a pair of nets may not be chosen simultaneously to route over the cells because there is only one layer available. Such a pair of nets are termed incompatible. For example, in the channel of Fig. 3, nets 1 and 4 are incompatible because routing both of them over the cells on the same layer will cause a short circuit. If our goal is to reduce down to 3 the density of the channel in Fig. 3, we can ignore both zones 2 and 3 because none of their zone densities is greater than 3, the target density. The coverage relationship can be modeled as the reduced graph shown in Fig. 5 .

v.

THE INTEGER LINEAR PROGRAMMING FORMULATJON

Let D,,,,,,, be the initial channel density and Dhndlthe final channel density. We define for each net i x,, a 0-1 integer. The value of x, is 1 if net i is routed over the cells; 0, otherwise. Our goal can be formulated as minimizing

IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN. VOL. IO. NO. 8. AUGUST 1991

Nets

Zones

1069

1

L

-

11 - '

+p++

Channel

Lower Cells

U Fig. 6. The routing of the channel in Fig. 3.

VI. MULTITERMINAL NETS In practice, a net might have more than two terminals. To extend 9 our formulation, we have to deal with partitioning a multiterminal 5 10 net into two-terminal subnets and assigning terminals for routing within the channel. Furthermore, our previous argument that reZones 1.4 and 5 are critical moval of a net from a zone will reduce its density by one is no Fig. 5 . The reduced graph longer valid. Without loss of generality, we assume that a multiterminal net does not have a pair of terminals located at the same subject to column (one on the top and the other on the bottom) because, if it is the case, we can treat the net as two independent nets separated by the column. and Fig. 7(a) shows a 9-terminal net, net 1. Net 1 has four terminals, tl, r3, rs, and r9, on the top bank and five terminals, b2, b6, b8, blo, and b 1 2on , the bottom bank. Our candidate subnets for routing over for each zone j whose density > DE,, the cells are lo, I,, * . ., 1,. These subnets divide the interval of (2) net 1 into eight regions, R I , R2, . . ., Rg. and Regions can be classified into three categories, singular, overfor each incompatible pair of nets m and n. x,, x,! 5 1, lapping, and dominaring. A singular region (e.g., R , , R,, and R E ) ( 3 ) is covered by only one subnet. Removal of the covering subnet will reduce the density in the region by one. An overlapping region The first constraint ensures that Dhnal is no greater than D,,,,,,,. The (e.g., R2. R,, and R 6 ) is covered by two subnets in which neither second set of constraints indicate for each critical zone the number subnet dominates the other. The density in an overlapping region of nets must be routed over the cells in order to reduce the channel will be reduced by one if, and only if, both subnets are routed over density down to Dfinal. The final set of constraints make sure that the cells. Finally, a dominating region (e.g.. R3, R , ) is covered by all the nets selected are compatible. The integer linear programtwo subnets in which the interval of a subnet is completely domiming formulation for the channel in Fig. 3 is shown in the follownated by that of the other (e.g., subnet 1,. is dominated by subnet ing. I,,). The density in a dominating region will be reduced by one as minimize Dhnal long as the dominated subnet is routed over the cells. To model an overlapping region, we introduce a new variable, subject to = x,,, A N D xi,,, where i, and ih are the overlapping subnets of net I **Initial Density Constraint **I i. The integer linear programming formulation is Dfinal 5 5 / **Net-incompatibility Constraints * * I xr0 + xv, - oi,,.h 5 1

+

XI

+ x,

x3 x8

+ x9 5

5 1

+ xg 5

xi,

1 1

I **Zone Equations **I Dfinal+ X I + ~2 + ~3 x,+ Dfinal+ ~2 + X, 2 3 Dfinal + x4 2 3 Dfinal + X, + xg + Xg L 4 Dfinal xg + x9 + X I 0 2 4 end

+

XS

15

+

I **Variable Declaration **I integer X I , x2, x3, x4, xs, x83 x9, xIo / **END * * I .

Solving the above formulation, we will have x2, x?, x,, xg, and xI0 set to 1 . That is, nets 2 , 3, 4, 9 , and 10 are chosen to route over the cells. Dhnalis minimized to 2. The result is shown in Fig. 6.

T

I

+ Xih - 20;

Suggest Documents