• No results found

Recursive Gate-Arrays

N/A
N/A
Protected

Academic year: 2021

Share "Recursive Gate-Arrays"

Copied!
11
0
0

Loading.... (view fulltext now)

Full text

(1)

December 1988

UILU-ENG-88-2262

ACT-104

COORDINATED SCIENCE LABORATORY

College o f Engineering Applied Computation Theory

RECURSIVE

GATE-ARRAYS

C. Chiang

S. Maddila

M. Sarrafzadeh

UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN

(2)

u . r e p o r t s e c u r it y c l a s s if ic a t io n

Unclassified

2*. SECURITY' CLASSIFICATION AUTHORITY

REPORT DOCUMENTATION PAGE

1b. RESTRICTIVE MARKINGS

Form Approved

0M8 No. 070+018$

2b. DECLASSIFICATION/DOWNGRADING SCHEDULE

A. PERFORMING ORGANIZATION REPORT NUMBER(S)

UILU-ENG-88-2262

6«. NAME OF PERFORMING ORGANIZATION

Coordinated Science Lab University of Illinois

6 c AOORESS {City, Stato, and ¿IR Codo)

1101 W. Springfield Ave. Urbana, IL 61801

8«. NAME OF FUNOING/SPONSORING

ORGANIZATION joint Services

Electronics Program /NSF (ACT//104) 6b. OFFICE SYMBOL (If eppllcable) N/A 8b. OFFICE SYMBOL (If applicable) 3. DISTRIBUTION/AVAILABILITY OF REPORT

Approved for public release; distribution unlimited

5. MONITORING ORGANIZATION REPORT NUMBER(S)

7«. NAME OF MONITORING ORGANIZATION

Office of Naval Research .1 Scit__________

7b. AOORESS (City, Start, and ZIP Code)

Arlington, VA 22217 1800 G. Street

Washington, DC 2055 2 _______

9. PROCUREMENT INSTRUMENT IDENTIFICATION NUMBER

N00014-84-C-0149

8c AOORESS (City. Statt, and ZIP Coda)

Arlington, VA 22217

1800 G. Street, Washington, DC 20552

11. TITLE (Indudo Security Classification)

Recursive Gate-Arrays

12. PERSONAL AUTHOR») . , ,

Chiang, C.; Maddila, S.; Sarrafzadeh. M.

13. TYW O f REPOST--- Il3b . TIME COVERED---|l*. OATE O f REPORT (Y n r , M o o n O v l |13. « 0 6 CO U «r

'TechnicaX__________ I « O M T0 December 1988 I 9

1«. SUPPLEMENTARY NOTATION

17. COSATI COOES 18. SUBJECT TERMS (Continue on reverse If necessary and identify by block number)

gate-array, VLSI layout placement, knock-knee model

We propose a regular architecture, called recursive gate-arrays, suitable for circuits with modules o f nonuniform size. A set’ o f n (rectangular and L-shaped) modules can ^ place in^a

• n /a o r ao m k p rp a is the sum o f 3T63. ot the mociuies. m e

recursive gate-array occupying area, where /v min is placement can be obtained in 0 ( n log n) time.

22a. NAME OF RESPONSIBLE INDIVIDUAL

21. ABSTRACT SECURITY CLASSIFICATION

Unclassified_____________

22c. OFFICE SYMBOL

DO Form 1473, JUN 86 Previous editions art obsoleto.

(3)

Recursive Gate-Arrays1

C. Chiang2, S, Maddila3, M. Sarrafzadeh2

Abstract

We propose a regular architecture, called recursive gate-arrays, suitable for circuits with modules of non-uniform size. A set of n (rectangular and L-shaped) modules can be placed in a recursive gate-array occupying ©(Amin) area, where Amin is the sum of area of the modules. The placement can be obtained in 0 (n log n) time.

^ h i s work was supported in part by the National Science Foundation under Grant MIP-8709074 and ECS-8410902.

2 Department of Electrical Engineering and Computer Science, The Technological Institute, Northwestern University, Evanston, IL 60208.

C oordinated Science Laboratory and Department of Electrical and Computer Engineering, University o f Illinois, Urbana, IL 61801.

(4)

Design automation is motivated by the complexity of present day computing systems in the VLSI environment. The use of a regular structure facilitates the design process. In gate-array architecture a square region of the plane is partitioned into equal-sized square subregions and each module (functional cell) is placed in a distinct region.

Consider a circuit p which is a set of modules {M \,. . . , M n}, where n is assumed to be a perfect square. Let a t- denote the area of module M t. A gate-array layout of p requires

0

(

720

:max) area, where

0

^ = max,- a,* is the area of the largest module of p. Thus, gate-arrays are suitable for circuits with “equal-sized” modules [CFKNS]. For circuits with non-uniform size modules the gate-array layout may result in excessive wastage of the layout area. In this paper, we propose a recursive-gate-array structure which requires ©(Amin) area to lay out an arbitrary circuit p, consisting of rectangular and L-shaped modules, where i4min = J2i a

i-In a recursive-gate-array (RGA) architecture, a square region of the plane is partitioned into equal-sized square subregions. Each square subregion either contains a module or is itself an RGA (see Figure 1).

Layout of a graph G = ( V ,E ), in the unit-square-grid U = (P, L) (see [LP] for a formal definition of grids suitable for routing) is an embedding of G into U. Namely, each vertex

v € V is mapped to a grid-point p 6 P and each edge e G E is realized by a sequence of grid-edges (-£,■ 6 L). We assume that each grid edge is used by at most one

wire (i.e., using knock-knee layout mode where overlap of wires is not allowed [T]). Each module is layout of a graph G,-; boundary of each module is either rectangular or L- shaped. Area of each module is the area (measured in terms of grid units) enclosed by its boundary (see Figure 2).

If two modules correspond to the layout of the same graph then we say they can be converted to each other. If two modules with the same area (in an asymptotic sense) can

(5)

Figure 1: An RGA consisting of 15 modules

Figure 2: An L-shaped module with area 32

be converted to each other then they are called equivalent Consider a module M occupying (grid) columns 1 thru i. If we remove all (horizontal) wires between column i and column z + 1 we obtain two modules: one with i columns and the other with t —i columns. We say M has been partitioned along x = i. Hereafter, we write M = (uj, i ) representing a rectangular

module M with width w and length £\ by convention w < i. The next lemma shows a way o reconfigure rectangular modules without excessive wastage.

L em m a 1 There exists a module M ' = (uj', £') equivalent to a given module M = (u>, t), for

u j < <j j' < \ f w i.

Proof: This result has been established in [L] for u)' = y/uJI. Here, we prove the result for uj < uj' < y/uJl. Assume M occupies columns 1 thru £. We partition M along columns

(6)

MX m2 Mk K 7 1 i o;k ! \\£ m2 i ]-• i ' . My module M module M'

Figure 3: Converting a module

x = £, x = 2 £ , . . . , and a; = into k equal modules M 1?. . . , M*, where M, = (cj, £) for all ¿. We place the southwest corner of M t- at the grid point (1, o;(z — 1) + 1) and therefore its northeast corner at the grid point ( f , uji) (see Figure 3). Next we interconnect Mi and M t+1, l < i < k — 1, as they were connected in M , that is, we add wires to realize the removed wires. The module M ' = (a/, i') is the rectangle enclosing all submodules and wires with u/ = ujk and t' — % + 2lj (see Figure 3).

The area o f M ' is a.' = u'i' = u k(^ + 2a;) = a + 2a;2fc, where a is the area of M . Next, we establish a bound on the extra area used by this layout. By hypothesis we know u/ = wk < V u l = yJoL or wk < y/a . Since we have assumed u < l (we have), a; < y/a. By combining these two we get oj2k < a, or equivalently, a' < a + 2a. Since M ' and M correspond to the same graph and a! = 0 ( a ) then M ' and M are equivalent.

Using the previous lemma we can change the aspect ratio (width/length) of a rectangular module. Our placement technique consists of two phases. In the first phase we convert all

(7)

,empty f module M module M ' Case 1 ” 1 Ni Ns Ns M 1 Mo. Case 2

Figure 4: Converting an L-shaped module to a rectangular module

the modules into rectangles and in the second phase we reconfigure them appropriately.

Phase 1. Conversion to Rectangles

In this phase, all L-shaped modules are converted into rectangles. Let a,b,c,d,e, and f denote the six sides of an L-shaped module M in Figure 4, starting from the left side in a clockwise ordering. The area of M is denoted by a.

Case 1) length of side e = 0(V<*) and length of side b = 0(>/<*)

Since the area of M is 0 ( a ) (more precisely, a ) then \c\ = 0(y/a) and \d\ = 0(y/a), where |x| is length of side x. Let M f be the smallest rectangle enclosing M, and let a ' denote its area (see Figure 4). Note a' = a + |c||d| = a + 0 ( a ) . Therefore, a' = 0 (a ).

Case 2) length of side e = o(y/a)

We partition M (by cutting the nets Ni, . . . N 3, where s < |e|) into two rectangles M\

and M 2, where M i = (a, b) and M 2 = (e,d ). We denote areas of Mi and M2 by a i ( = ab) and a 2(= ed), respectively, (see Figure 4)

We convert both Mi and M2 into squares M [ and M'2 of sides ai and a2, respectively (see Lemma 1). Without loss of generality, assume ai > a2. Note that a\ = 0 ( a ) . We place MJ

(8)

K M '

Figure 5: Interconnecting two sub-modules

in a square M% of side a\. We place M [ and M%, with total area 0 ( a ) , next to each other. Nets TVi,. . . , Na are realized using s horizontal line and s vertical line. Thus each dimension is enlarged by s = o(y/a). (see Figure 5)

Case 3) length of side b — o(y/a)

Analysis is symmetric to Case 2.

Thus we can write the following lemma.

L em m a 2 An L-shaped module can be converted into an equivalent rectangular module.

Phase 2. Placement

In this phase, first we convert all rectangles (output of Phase 1) into squares, as described in Lemma 1. We call the side of the smallest square one unit. Next we place each square in a square of side 2* units, for some integer i. Note that the length of the side of the latter square is at most twice the length of the side of the former one, and thus, its area is at most four times the area of the former one. We obtain a set of square modules p* = {Mf*, . . . , M* } , where a* denote the area of M*. By virtue of Lemma 1 and Lemma 2 we know = ©(A^n), where A ^ n = £ , a*.

We first place every four modules of side length 2* in a module of side length 2t+1. This

(9)

0ff3

"»+1 01...0i

-0^1

*¿+1 0^.2*¿+1

Figure

6

: Recursive gate-array of f t , . . . , ft

+1

process is continued till there are no more than three modules of each size. This gives a set of blocks each of which is a recursive gate-array. Note that the sum of areas of all the blocks is A^;„. Next, we sort all the blocks with respect to their area and obtain an ordering { ( B „ i , B„

2

, B^

3

) , . . . , (B^i, B v2, B ^ ) } , where groups of three blocks are all of the same size. Note that some of Bwjs may not exist. Let &,• be the side of B^js and

6

t- < b{> for

i < i'. Let ft denote the group of equal-sized blocks (B^i, B v?, B ^ ). Inductively assume that f t , . . . , ft have been placed in a recursive gate array of side 2 We can place f t , . . . , ft+i in a recursive gate-array of side 26,+i as follows. Take a square of side 26,+i and partition it into four squares of side

6

t+1. Place -ftrj

+1

> i ? * ? » and f+1 in three of the squares and place the recursive gate-array corresponding to f t , , ft, with side 26,-, in the fourth square. This is always possible since 26t- <

6

,+i (see Figure

6

).

By induction, we conclude that f t , . . . , ft, can be placed in a recursive gate-array of side

2

bt. Since sum of the areas of Jfts is AJ^n (or ©(Amin)), and is greater than b2 (for there is at least one module with side bt) then (2bt)2 = ©(Amin). Note that each (conversion) step takes 0 ( 1 ) time per module and sorting requires a total of 0 (n log n) time. We conclude:

T h e o r e m -1 A recursive gate-array layout o f n modules, with minimum achievable area, can be obtained in 0 (n log n) time.

The proposed placement technique has been implemented. An example is given in Figure 7.

(10)

14

rm I 12 1

ED

10

Figure 7: Demonstrating the proposed algorithm

(11)

References

[CFKNS] K. Chen, M. Feuer, K. Khokhani, K. Nan, and S. Schmidt, “The Chip Layout Problem: An Automatic Wiring Procedure,” Proceedings o f the l\th Design Au­ tomation Conference, June 1977, pp. 298-302.

[L] C. E. Leiserson, “Area-efficient Layouts for VLSI,” Proceedings o f the 21st Annual Symposium on Foundations o f Computer Science, 1982.

[LP] W. Lipski and F. Preparata, “An Elementary Theory of Wirability,” Mathematical Systems Theory, Vol. 19, No. 3, 1987. pp. 189-204

[T] C. D. Thompson, “A Complexity Theory for VLSI,” Ph.D. Thesis, Department of Computer Science, Carnegie-Mellon University, 1980.

References

Related documents

On the positive side, we noted four common legacy themes running through the selected narratives, among them: feelings of national pride for the Paralympic

103 Changing definitions of relief within San Francisco’s refugee camps marked a turning point in the United States’ history of disaster relief; progressive relief methods became

In one significant case, the FDA approved several biosimilar versions from different manufacturers that would in principle compete with the biologic drug

To prevent rapid, premature wear of the crankshaft bearings and to aid in the formation of an oil film, journal surfaces must be ground opposite to engine rotation and polished in

This Program must include a confined water session prior to a minimum 300 minutes of in water training time of 4-6 dives using the CCR with an END that does not exceed 36m in

A linear latent variable model similar to PPCA but with a user-specified prior on the covariance structure of each column of the loadings matrix. Supports tools for

non-excisional approach is described in which the sutures for the inlet cannula are placed around the calcific apex (Apex Preserving) away from the core site, parachuting the

We propose a method to enhance the realism of street view navigation systems using a hybrid rendering based on realtime projective texturing on meshes and pointclouds with