Macro-Cell Placement for Custom-Chip Design Using Self-Organizing Fuzzy Technique

In this paper, a new optimization technique called SOFT (self-organizing fuzzy technique) is proposed to solve the macro-cell placement problem. In SOFT, different criteria are simultaneously accounted by a novel fuzzy gain function which models expert knowledge to control the optimization process. The presented procedure is an adaptation of Kohonen’s self-organization algorithm which is well suited for implementation on massively parallel architecture for fast computing. The MCNC benchmark examples are presented to verify the performance and feasibility of SOFT. Comparisons are made with the Hopfield network, SOAP and TimberWolf MC5.6. Experiments show that the proposed method yields an average of 17% improvement in total wire length compared with previous methods. Large size problems with 225 and 1024 arbitrarily-sized macro-cells are also presented.


INTRODUCTION
Macro-cell placement which packs arbitrarily- sized circuit blocks into a given layout region is a very important step in VLSI custom-chip design, since it has a pronounced effect on the final circuit layout.This optimization problem has been proven to be NP-hard [4] and must satisfy several contradictory criteria, such as shorter wire length, smaller chip area, less module overlap, and a variety of other constraints.Over the years, a wide *Corresponding author.repertoire of solution methods have been proposed with varying success [5,7,[19][20][21][22][23]; these include partitioning-based methods, branch and bound, cluster growth, simulated annealing, genetic-based methods, force-directed and analytical methods.Partitioning-based methods [16] place cells on either side of a partition in such a manner as to minimize the number of interconnections crossing the partition.Cluster growth methods [22] apply a pre-specified select-function and place-function to select unplaced cells and place cells in .theplacement region.Both of these methods are greedy constructive approaches that frequently become trapped in local minima.The constructive methods create placement in an incremental manner that produces a complete placement only when the method terminates.The branch and bound method which seeks a solution by tracing a logical tree structure is able to guarantee optimum results, but the run time is excessive for reasonably sized problems.This method is also a constructive approach.The simulated annealing algorithm [19] with probabilistic hill climbing technique is an iterative approach.Iterative approaches improve an initial placement by repeatedly modifying it and then terminate when a design criterion is met.Thus, a complete placement is available at every stage of the modification cycle.Although simu- lated annealing has been suggested for obtaining optimal solutions, it requires an enormous amount of time.The genetic-based method derived from biological phenomena is ineffective unless a clever representation scheme is devised to represent the physical placement as a genetic code.This is also an iterative approach.Force-directed methods and analytical methods [20][21] are iterative ap- proaches that accept the next configuration only if the value of the objective function is reduced.They are characterized by their inherently greedy nature for fast convergence.The disadvantages of these methods are that they do not permit changes to previous decisions and they get trapped in local optima.
Although a number of heuristic algorithms have been proposed, as described above, all of these algorithms are inherently sequential and unable to efficiently exploit massive parallel architecture.
Recent progress in software and VLSI technology has motivated attempts to exploit more fully the parallelism of neural networks to solve NP prob- lems [8-13, 27-28].For example, a Hopfield net- work [8] with a symmetrical interconnection matrix and a sigmoid gain function was applied to TSP problems in early 1985.Persky [9] used this model to solve a one-dimensional cell placement problem.Sriram and Kang [11] introduced a modified Hopfield model for a two-dimensional module placement problem.Date et al. [23] presented an LSI module placement algorithm using a Hopfield network.Yu [12] attempted to obtain a placement result using this model, but not with great success.His experimental results show that this model gives much the same solutions as the min-cut algorithm.Since it suffers from the inherent limitation of the Hopfield model, it becomes stuck at local minima.If one tries to improve the quality of the result, on the other hand, the algorithm may converge to illegal solutions.
In 1990, Hemani [3] used Kohonen's self-organi- zation rule to solve the two-dimensional cell placement problem.In his method, the output neurons are organized into a rectangular grid and corre- spond to the locations of cells.Input sample vectors are the columns of the connectivity matrix (i.e., the sample vector representing cell is the i-th column of the connectivity matrix).Experimental results show that the columns of the connectivity matrix used in Hemani's method are not enough to preserve the complex topological relation among cells.Recently, Kim [1] has presented an approach called SOAP (self-organization assisted placement) in which Kohonen's self-organization algorithm is used as a preprocessor of other heuristic algo- rithms.In SOAP, output neurons and connection synapses between output neurons correspond to cells and wire nets between cells, respectively.The input sample vectors are generated randomly.Unless enormous amounts of random .samplevectors are generated, the quality of the results is not guaranteed.Moreover, the sizes of the modules are not taken into consideration in obtaining the optimal positions of each module.This is also the major drawback of the other previous neural-network methods.
Most previous neural network based algorithms are suitable only for placement on a checkerboard model, in which all cells are assumed to be square and of equal size.Moreover, none of these previous algorithms explicitly addresses the presence of multiple contradictory criteria in the cell placement problem.In this paper, a general optimization method called SOFT (self-organizing fitzzy technique) is proposed to resolve the macro- cell placement problem.The proposed method which takes cell shapes into consideration can easily model arbitrarily-sized macro-cells, hence it can be expected to provide more accurate placement models.Furthermore, the proposed method can minimize the interconnection wire length without any module overlap.In this paper, we also use an adaptation of Kohonen's self-organizing neural network [6] to model the optimization problem, since this network is well suited for implementation on massively parallel architecture for fast computing.Experiments on many test problems, including the MCNC benchmark cir- cuits Ami33 and Xerox, have been conducted to verify the performance and feasibility of the proposed technique.Comparisons have been made with both neural-network approaches (the Hop- field network [2] and SOAP [1]) and non-neural- network approaches (TimberWolf MC5.6).Large size problems with 225 and 1024 arbitrarily-sized macro-cells are also presented.The simulation results are quite encouraging: the total wire lengths obtained are average 17% shorter than those ob- tained using previous methods without any mod- ule overlap.We also compare results obtained with and without the fuzzy gain function and give our comments from this comparison.Moreover, the proposed self-organizing neural network contains fewer neurons and connection synapses than the best neuron models known for this problem.The proposed model can easily be extended to treat cell placement in a three-dimensional region or over a non-planar surface.
The remainder of this paper is organized as follows.The problem definition and the notation used in the paper are stated in Section 2. Next, Section 3 describes the basic fuzzy set theory and neural network model used.In Section 4, descrip- tions and analyses of.theexecution of each step of the SOFT algorithm are given, and the proposed self-organizing neural network and the fuzzy optimization technique are also introduced.Ex-periments and results are presented in Section 5. Finally, Section 6 gives the conclusion.

PROBLEM DEFINITION
Classical placement algorithms assume that place- ment quality is a function of the interconnection wires and is not affected by the shapes of cells.These algorithms model the circuit blocks as point- objects.Sometimes, they also define the placement region as a pre-defined array of slots for gate arrays or rows for standard cell design styles.Unlike these traditional layout styles, custom-chip layout systems must model the circuit blocks with two dimensions, since both their height and width are irregular and can affect the layout result.Macro-cell placement is an important step in.custom-chip design.In macro-cell placement, cir- cuit blocks are not restricted to having similar sizes or being arranged together in regular rows and columns.This lack of restrictions adds consider- able complexity, in which, the interactions (interconnections and overlaps) among circuit blocks are more difficult to compute.In this paper, a simple but effective modeling method is proposed that can easily take cell shapes into consideration to yield more accurate placement results.
The problem inputs are a w h placement region, a set of macro-cells {bili 1,...,m}, and their mm connectivity matrix CM [cmiy]l <_ i,y <_ m.
The connectivity cma specifies the number of connection wires between cell bi and cell by.A multi-terminal netlist (say Ni) which connects more than two modules (say pi modules) is represented by fully-connected qi connections in this paper: ?i X (Pi-1) As shown by Alon and Ascher [25], the strength of these wire connections can be specified as 2 x i/qi.The common goal in macro-cell placement is to minimize total wire length and to avoid module overlap.Thus, the width w and the height hi of each cell bi must be considered during the place- ment process.The cost function for total wire length CWL and that for module overlap CMO can be specified as follows: i=1 j=i+l m m CMO Z Z MOXo MO YO (2)   i=1 j=i+l cell)i,,, !ceil .il"e"" IDij (d)

FIGURE
Four examples of the ideal distance between two macro-cells and j.
where the Euclidean distance d/ and the X(Y) coordinate distance dxo.(dyo.) between cell bi and cell bj are defined as follows" dx ij Xj X dyi y yi Note that optimizing the above cost equations is computationally very complicated.In this paper, we model the module overlap cost function heuris- tically using the distance between cells to make the computations simpler.
We use the distance IDiy as the ideal minimum distance (ideal distance, for short) between cells bi and by without module overlap.For example, the ideal distance is defined as (hi / hy)/2 if bi and by are on a vertical line.In general, the ideal distance between cell bi and cell by can simply be defined as follows: Idy, l (3)   Figure shows four possible examples of the ideal distance between two arbitrarily-sized macro-cells bi and by for actual-shape-module formulation.We can redefine the cost function of module overlap so as to preserve the ideal distance between cells.By Equations ( 2) and ( 3), the cost function to minimize module overlap can be easily formulated in terms of the ideal distance and defined as follows.
This definition accurately reflects the module over- lap between macro-cells.Moreover, it is easier to compute in computer simulations.As defined above, our objective is to minimize total wire length without causing module overlap.
Hence, by Equations ( 1) and ( 4), a possible objective function C for the macro-cell placement problem can be defined as follows.
C gWL CWL -J7 gMO X CMO where gWL and gMO are pre-specified gain terms.
In the past, various strategies have been proposed to minimize the cost function.However, in reality, the criteria of less module overlap and shorter wire length are contradictory.The scaling of the gain terms, i.e., gWL and gMo, will heavily influence the performance of the system and the solution quality of the objective function.In this paper, a fuzzy optimization technique is proposed to resolve this problem.Moreover, a self-organizing neural net- work is proposed to model this problem that can reduce the execution time through the use of multiple processing elements (neurons) that allow parallel processing.

BASIC FUZZY THEORY AND THE NEURAL MODEL
The basic fuzzy set theory for the proposed method is briefly described in this section.The neural network model proposed for macro-cell placement problem is also presented.

Basic Fuzzy Set Theory
Investigation of the characteristics of expert knowledge shows that people often base decisions on imprecise or non-numerical information in everyday life.For example, measurements of importance may be represented by vague states, such as "low", "medium" and "high".In order to represent and manipulate vague data, in 1965 Zadeh introduced the fuzzy set theory, which processes non-statistical uncertainty.Fuzzy set theory is a generalization of conventional set theory that can interpret data in a very natural and intuitively plausible way to resolve various problems.Fuzzy states (or fuzzy subsets) are defined as the elements of a particular fuzzy .set.Each subset is described by an appropriate word (i.e., "low" or "high").Imprecise or non-numer- ical information can be described by a membership function.Figure 2 shows an example with two fuzzy states, say, "early" and "late", of a variable, say, time within a range (tote).Here, the membership functions have trapezoidal shapes which specify the degree of membership in the fuzzy states.Formally, a fuzzy set is defined as follows [16]: early / / / tO late time t FIGURE 2 Two fuzzy states ("early" and "late") of a variable say, time within a range (tO, te).DEFINITION 3.1.1A fuzzy subset A of a uni- verse of discourse X is defined as A {(x, #A(x))[ all xEX}, where X is a space of points and #A(x) is a membership function of xEX which should be an element of A, and x belongs to the fuzzy set A with degree of membership #a(x).
Set operations, such as equality, containment, union, intersection, and complementation, are also defined in fuzzy set theory, and the basic opera- tions on two fuzzy sets A and B are usually defined as follows: #A (x) membership function for a fuzzy set A ofinput x #s(x) membership function for a fuzzy set Artificial neural networks were first discussed by McCullough and Pitts in 1943 to imitate the power of biological systems for data and information processing.These models typically consist of many simple neuron-like processing elements that inter- act via weighted connections.Each neuron has an activation value representing its state, which is determined by inputs received from other neurons or by external inputs.Neural network models are a promising approach to develop feasible solutions to computationally intense problems.For exam- ple, in early 1985, neural networks were applied by Hopfield and Tank [8] to resolve the optimization problem.A neural network generates a feasible solution with values close to the values of an optimum solution in a reasonable amount of time.
In general, the solution to a problem is defined to correspond to the neuron states or their connection weights.Given the dimensions of a set of arbitrarily-sized macro-cells and the con- nection wires among them, the macro-cell placement problem is to locate the circuit blocks optimally within the specified region.This is a constrained mapping problem which determines the locations for all cells such that all the cons- traints are satisfied and a weighted sum of total wire length is minimized.It has been shown that a self-organizing neural network with Kohonen's learning algorithm can create an optimal two- dimensional feature map of higher dimensional sample vectors [13,[27][28].Given the topological relation (connection) between each pair of neurons as a map, the algorithm applies the input sample vectors to adjust the weights of neurons.The objective of the self-organization algorithm is to iteratively adapt the weights between input neu- rons and output neurons, so that the output neurons become sensitive to different inputs in an organized way.This neural network model, which preserves the topological relation among neurons, is sometimes called a topology-preserving map.We shall refer to this topology-preserving map of macro-cells as a self-organizing cell-map.
In this paper, a neural network model based on Kohonen's self-organization rule is proposed to resolve the macro-cell placement problem.The relationship between the proposed self-organizing neuron model and the macro-cell placement model is illustrated in Figure 3, where output neurons in the neural network model correspond to the macro-cells.The connection weight between out- put neuron and output neuron j is crnij, which corresponds to the strength of the connection wire nets.The j-th position weight of output neuron i, denoted by wij, corresponds to the j-th coordinate value of the position of cell bi.In the case of placement on a two-dimensional space, Wil xi and wi2 Yi.When the self-organizing algorithm is used, neurons connected closely in the topology are sensitive to sample vectors that are physically similar.Each neuron is sensitive to a particular input sample vector that represents the placement location of the related macro-cell.This method can easily be extended to handle placement with various constraints on cell connections and dimen- sions.For example, wi3 is an additional weight needed for placement in a three-dimensional space to represent value of the Z coordinate.
provide the primary source of information.Thus, the solution quality and the system performance are more sensitive to the quality of the sample vectors, in contrast to vector quantization, sample vectors are seldom available in cell placement.In this paper, a new cell placement technique based on Kohonen's self-organization algorithm is pro- posed.We produce input sample vectors using spatial relations (connectivities and overlaps among macro-cells) and adapt the neural network using Kohonen's self-organizing rule.This algorithm is well suited for solving such self-organizing optimization problems (e.g., cell placement) whose sample vectors are not easily available.
In the traditional self-organization algorithm, the topological relations among output neurons are represented as lateral interactions.In this paper, we use these lateral interactions (stimulus of excitation and inhibition) between output neurons to produce sample vectors.Assume that fwL(do.) is an excitation stimulus function that minimizes the wire length between cell bi and cell by.The inhibition stimulus function, fMo(da), is presented to reduce the module overlap between cell bi and cell by.As defined above, this inhibition stimulus function is calculated between cells to remove their module overlap.In this paper, for simplification, we preserve the ideal distance described in Section 2 to reduce the module overlap between cells.The stimulus functions fwL(d/) and fMo(do.),which minimize connected wire length and module overlap, respectively, can easily be formulated using the ideal distance and defined as follows: fwL(do" cmi x di (5) IDj ID ij > di (6) otherwise This model accurately reflects the.wire connection and module overlap between cells.There is a rapid increase in the overlap penalty function and a slower increase in the wire length penalty function.

The Fuzzy Gain Function
We have analyzed the macro-cell placement, of expert designers and found the following charac- teristics in their placement techniques: (1) They first place the cells in a plane such that the topology of the cells satisfies the combined goal of shorter wire length and less module overlap.
(In this early relative placement phase, the wire length criterion is more important than in the later phase).
(2) Then, they remove the module overlap in the placement by moving the cells such that the total wire length is kept as low as possible.
(In this late spacing phase, the module overlap criterion is more important).
From the suggestion of the placement techni- ques of expert designers, we have four hypothetical inference rules involving three variables, (time), C (importance of wire length criterion), and e2 (importance of module overlap criterion).It can be better understood if an "important" in a fuzzy set is interpreted as an "importance is high".Linguis- tic values for time are defined as "early" and "late".Linguistic values for c1 and 2 are defined as "low", "medium", and "high".The gain func- tion is defined as the membership function for "wire length criterion is important" (importance of wire length criterion), denoted by lZc,(t).
Approximate reasoning based on linguistic vari- ables and their values [17] is used to define the membership function for "wire length criterion is important" of "time".The detailed analysis-is illustrated in Figure 4.In this paper, defuzzifica- tion is based on a centroid calculation, in which, the actual output value is the center of gravity of the shaded area.For simplification, we use an S- function g(t) [16], gwL(t)= g(t), as the member- ship function to model #c(t) and use go(t) 1-g(t) to model #(t).By Equations (5)  (6), the total stimulus function with the proposed fuzzy gain functions is defined as ,follows: f(do') gwL(t) fwL(d/j) + gMo(t) X fMo(dij') This is the first neural optimization technique that simultaneously considers the wire length and module overlap criteria for macro-cell placement.

3. Self-Organizing Fuzzy Technique
In this subsection, a brief overview of the SOFT algorithm will be given and then a more detailed description of each step of the algorithm will be given.Initially, we set the position weights as random values.For each iteration, a cell bi is selected and its associated sample vector Vi is generated.The position weights associated with node and its neighbors NEi are adapted to make these cells more responsive to the current input This process is repeated until the system converges.
The detailed description of the SOFT algorithm is given below.
Step 1. Initialization  Initially, the proposed algorithm sets all the position weights (xi, yi) of macro-cell bi as random values around the center of the layout region (w/2, hi2).The time variable is set to 0.
Step 2. Winner and Sample Vector Selection With each iteration, the algorithm ran- domly selects a macro-cell, say bi, as the winner neuron in Kohonen's self-organiz- ing algorithm.Equation ( 7) is then applied to produce the related sample vector Vi (vxi, vyi) by force Fi (fxi, fYi): fxi m where fxi Z f(do) x j=l rn dyq fYi f(di) x do fyi This step is designed to produce a sample vector that can minimize the total wire length and the module overlap.For example, Figure 5(a) shows a selected neuron, i.e., neuron 3, and the lateral interactions that come from its neighbors.The summation of the lateral interactions is computed and the sample vector V3 is generated.The sizes of cells are initially small and increase gradually during the placement process.Define wi(t)=wi(O) x gMo(t) and hi(t) hi(O) x gMo(t).The  Step 3.   gradual expansion of cell size introduces a kind of function smoothing [14].Thus, the smaller the size of the cell, the larger the space for moving it will be.With a larger space for moving, the system will have more chances to converge to an optimal state.However, an abrupt change of cell size is generally not desirable because it will result in a significant distortion of the current placement.
Self-Organizing Adaptation Applying the sample vector and the pre- specified winner neuron described in Step 2, this learning step uses Kohonen's self- organizing algorithm to adjust the proposed neural network model.It updates the position weights of winner neuron and its neighbors within NEg(t).For all such macro-cells, say bk, the following adaptation functions are performed: Xk(t + 1)=fx(Xk(t)+rl(u, t) x (VXi--Xk(t))) yk(t+ 1)=fy(Yk(t)+rl(u t) X (vyi-yk(t))) A w x h placement region is given and the bounding functions, fx() and fy(), are defined as follows: Wi/2 X <_ Wi/2 fx(Xi) W-Wi/2 X >__ W-Wi/2 X otherwise hi/2 fy(Yi) h-hi/2 y y <_ hi/2 y-hi/2 otherwise r/(u,t) is a time-decreasing neighboring gain function and u is the topological distance between neuron k and neuron i.The moving distances of the cells are decreased as the number of iterations is increased or as u is increased.For example, in Figure 5(b), the selected neuron and its neighbors move toward V3 with the movement vectors which are represented by arrows showing the direc- Step 4.   tion and the magnitude of the movement.Figure 6 shows that the neighborhood NEj(t) of a neuron j at time is a set of neurons lying within the topological dis- tance 6(t) from the neuron j.Here the 6(t) determining the size of the neighborhood is a time-decreasing function.
Stop or Next Iteration Increase the time variable by 1. Go to Step 2 if the neural network model does not converge.If it converges, a placement solution is obtained and macro-cell bi is placed on position (xi, yi).In this paper, we define the system to be convergent if the position weights have no distinct changes (or the time variable is larger than a pre-specified large constant tmax).

Algorithm Analyses
As point out above, input sample vectors provide the primary information for the learning of self- organizing neural network such that the solution quality and the system performance are more sensitive to the quality of the input sample vectors.
To demonstrate the performance of the proposed algorithm, we present a small but difficult example called NCTU8, in which, 8 cubic-connected macro,cells are placed on a 480 480 layout region.Figure 7 shows the first 300 sample vectors produced by the proposed method..The pre- specified topological relation of these 120 120 =2 8(tl) =1 FIGURE 6 Nodej is represented as the selected node.Regions with different fill patterns are represented as the neighborhood region at difference time, tO < < t2.macro-cells is shown in Figure 7(a).shows the distribution of the produced sample vectors.The input sequence of the sample vectors with the winner neuron 3 is also demonstrated.It can easily be shown that the proposed method is better than Kim's SOAP method, in which, sample vectors are randomly generated and uniformly distributed on the placement region.Kim's self- organizing process is highly time-consuming, especially because it attempts to represent parti- cular information by random data.Figure 8 demonstrates the execution of the SOFT algorithm as it finds a solution for the placement of NCTU8.There are four development stages.The initial position weights are random values around the center of the given region, as shown in Figure 8(a).Next, cells are grouped and interchanged, as shown in Figure 8(b) and (c), to minimize the total wire length; finally, cells are spread out over the given region, as shown in Figure 8(d), without any module overlap.During the placement process, the variation in wire length at the early stage is high and it then gradually converges to a constant value.Moreover, module overlap gradually converges to zero.The large variation at the early stage is due to the large size of the neighborhood and the large gain value.As the process continues, the changes are reduced, because the size of the neighborhood and the magnitude of the gain term decrease.The total iteration time of the proposed algorithm is (a) independent of the number of input macro-cells and the number of wire nets.In other words, the execution time is bounded by a constant number if the algorithm is has been implemented by a real analog neural network.
Table I shows the number of neurons and connections used in the proposed model, in which, position weights can be stored in their corresponding output neurons and the input neurons can be removed.Three different models are used for comparison: Kita et al.'s Hopfield-like model [2], Hemani&Postula's self-organization model [3] and Kim & Kyung's SOAP [1], where w and h are the width and the height of the placement region, and s (= w x h) stands for the area of the placement region.Additionally, rn and n represent the Comparisons of the number of neurons and connection weights (m is the number of cells, n is the number of wires and s is the size of region) [1] [2] number of cells and the number of wire nets, respectively.The proposed approach uses O(m) neurons and O(n) connection weights; this is fewer than the best neuron models [1] known for cell placement problems.

EXPERIMENTS AND RESULTS
The proposed algorithm has been implemented in C language on a Sun Sparc IPC station running UNIX.Several macro-cell placement examples (i.e., MCNC benchmark circuits: Xerox and Ami33) were presented to our solution procedure to prove that our algorithm can handle these pro- blems.The large size problems with 225 and 1024 arbitrarily-sized macro-cells were also presented.
Table II shows the.number of cells, number of wires, and size of the placement region for the input test circuits.The results of running the proposed algorithm on various placement pro- blems are discussed below.
The first example is an artificial, but difficult, problem from Reference [1] called m4 4.This circuit has 16 cells connected in a 4 4 meshconnected pattern.The proposed algorithm was able to achieve the optimal solution (shown in Fig. 9(a)) in approximately 5 seconds.Figure 9(b) shows the experimental results for 100 simulation runs.The vertical axis indicates the number of the obtained solutions having wire lengths with the value specified by the horizontal axis.All the trials were started from different randomly generated initial configurations.The solution quality of the proposed solution model can be seen by compar- -'D'-.. i1--11 24 27 28 30 32 36 42 invalid (a) (b) FIGURE9 An example called rn4x4, with 4x4 mesh connected cells.(a) The optimal solution achieved by the proposed method.(b) The experimental results for 100 simulation runs.The vertical axis indicates the number of solution obtained having wire lengths with the value specified by the horizontal axis.
ison with the Hopfield-like placement algorithm described in [2].The proposed optimization technique is almost independent of the initial configuration.There are 82% of the simulation runs achieved the optimal placement result and 96% achieved a near optimal solution.All the solutions obtained were valid.Compare with the solution model described in [2], on the other hand, 13% of the simulation runs achieved the optimal placement result and 27% achieved a near optimal solution.Moreover, 14% of the solutions were invalid after 200 iterations.The results show that the total wire length obtained is insensitive to differences in the initial configuration.In other words, the proposed algorithm successes can yield a proper placement when different initial confi- gurations are used.Our method improves both the total wire length and module overlap, compared with previous approaches.
The second example consisting 29 cells and 82 nets was reproduced from Reference [18] and called mblk-2.Figure 10 presents the solution for mblk-2 within a 100 85 region.The total wire length obtained was 1035.The third example, called ALU, consisted of 67 cells and 81 nets.Each cell in this example is a 3 3 rectangle and has to be placed within a 30 30 region.The total wire length obtained from our system was 605 units.In addition, the placement result was free from overlap (see Fig. 11).Our result was better than that achieved by Kim's SOAP [1], which used FIGURE 10 The solution for placing mblk-2 within a 100 x 85 region.The total wire length obtained was 1035.
(603260 gm) [26].The placement results for these two MCNC benchmark circuits are shown in Figure 12. and Figure 13.Our results for all these examples are free of module overlaps.
Two large size problems were also solved to demonstrate the performance of the proposed algorithm.The first large size example, called NCTU225, consists of 225 macro-cells and 49964 nets.The total wire length is compared with the results of the random cluster growth method, in which, unplaced cells are selected at random and placed around the pre-placed cells randomly.The total wire length obtained was 991823.75.For the random cluster growth method, the total wire FIGURE 11 The placement solution for example circuit ALU.The total wire length obtained from our system was 605 units.In addition, the placement result is free from module overlap.
approximately 838 units and did not consider module overlap.The fourth example is an MCNC benchmark circuit called Ami33 that consists of 33 cells and 121 wire nets.The proposed method achieved a solution with shorter total wire length (605711am) than TimberWolfMC5.6 (74310,gm) [26] with half-perimeter estimation.The next example, which consists of 10 macro cells and 203 wire nets, is an MCNC benchmark circuit called Xerox.The achieved total wire length (562066 grn for half-perimeter estimation) was also shorter than that given by TimberWolfMC5.6 FIGURE 12 The Ami33 example of the MCNC benchmark circuit, in which, 33 cells are placed within a 2230 x 2360 region.The result obtained has a total wire length of 60571.

Ca) (b)
FIGURE 13 Solution for placing MCNC benchmark circuit Xerox within a 8750 7440 region.(a) With fuzzy gain function, the total wire length is 562066.(b) Without fuzzy gain function, the total wire length is 687564.
length obtained in the best experimental result within 100 simulation runs was 3870765.85.The second large size example, which consists of 1024 macro-cells and 1045256 nets, is called NCTU1024.The total wire length achieved was 40171352, and the placement region was 120 x 120.This result was also shorter than that of the random cluster growth method, which obtained 230555424.36for the best experimental result within 100 simulation runs.These experiments show that the SOFT method can obtain feasible solutions for large size problems.
Table III presents a detailed comparison of the total wire length obtained by the other ap- proaches, i.e., SOAP (self-organizing assist place- ment) and TWMC 5.6 (TimberWolfMC5.6,a simulated annealing approach).We define a measurement of improvement in result as follows: Improvement ( Result of SOFT ) Result of Other Method x 100% The results show that our algorithm provides an average of 17% improvement in total wire length is compared with the other approaches.A compari- son of the results of the proposed self-organizing optimization technique with and without the use of the fuzzy gain function is shown in Table IV.It can be seen that the fuzzy gain function is very important in balancing the multiple conflicting objectives.The average improvement is over 11%.Note that the reduction in total wire length is only 0.4% when the fuzzy gain function is used in placing the test circuit ALU.The major reason for this insignificant improvement is that all the cells in ALU are small squares and the disturbance from module size and height/width ratio is not marked. 6. CONCLUSION A novel self-organizing neural network has been presented to solve the problem of macro-cell placement.The proposed model uses the position weights of output neurons to represent the positions of cells.With an additional self-organi- zation algorithm, the position weights evolve in a continuous manner toward the ultimate solution.This continuous representation is quite different from the one found in many traditional algorithms that use discrete-representation, i.e., the Hopfield optimization network, where all the intermediate solutions examined are various permutations of cells.The experimental results for our method are quite encouraging.The proposed approach is competitive with previous state-of-the-art algo- rithms, no matter whether they are neural-network based or non-neural-network based.The proposed method provides17% improvement in total wire length over the results of previous algorithms, and the results obtained are independent of the initial configuration.Our macro-cell placement method improves both the total wire length and module overlap, one of which has always been trade-off for the other in previous approaches.Our experiments also demonstrate that solutions obtained using the

FIGURE 3
FIGURE 3 The relationship between (a) the proposed self- organizing neural network model and (b) the cell placement model.

FIGURE 5 (
FIGURE 5 (a) Calculation of the summation of effects and selection of the sample vector.(b) The selected neuron and its neighbors are moving toward V3 with various weights.

FIGURE 7
FIGURE 7 An illustration of the proposed method.(a) Input topological relation.(b) Sample vectors and input order of the sample vectors with label 3.

FIGURE 8
FIGURE 8 Four development stages for the placement of NCTU8 by SOFT.(a) The initial position values in the given region.Next, (b) cells are grouped and (c) interchanged to minimize wires.Finally, (d) cells are spread out over the given region without overlap.
Approximate reasoning based on linguistic vari- ables and their values used to define the membership function for "wire length criterion is important" of "time".

TABLE II The
number of cells, number.ofwires, and size of

TABLE III Total
wire length for the test examples TOTAL WIRE LENGTH (tm) Considers only the dot-module formulation.**Average of the best 86% solutions in 100 simulation runs. *

TABLE IV
Comparisons of the proposed self-organizing optimization technique with and without fuzzy gain function TOTAL WIRE LENGTH (tm)