0% found this document useful (0 votes)
3 views

PD Automation

This paper presents a genetic algorithm designed for VLSI physical design automation, focusing on the simultaneous optimization of module placement and routing for VLSI chips. It introduces a problem-specific genotype encoding using binary slicing trees and employs hybrid techniques to create initial individuals and intelligent operators for optimization. The algorithm aims to efficiently navigate the discrete solution space and improve layout quality by incorporating knowledge of good genes and utilizing a structured approach to routing and placement.

Uploaded by

sspamwebsites
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

PD Automation

This paper presents a genetic algorithm designed for VLSI physical design automation, focusing on the simultaneous optimization of module placement and routing for VLSI chips. It introduces a problem-specific genotype encoding using binary slicing trees and employs hybrid techniques to create initial individuals and intelligent operators for optimization. The algorithm aims to efficiently navigate the discrete solution space and improve layout quality by incorporating knowledge of good genes and utilizing a structured approach to routing and placement.

Uploaded by

sspamwebsites
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

A GENETIC ALGORITHM FOR VLSI PHYSICAL DESIGN AUTOMATION

Volker Schnecke, Oliver Vornberger


University of Osnabruck, Dept. of Math. / Computer Science
D{49069 Osnabruck, Germany

ABSTRACT after crossing, which reduces the parent to o spring


correlation.
Solving discrete optimization problems with genetic
algorithms is in many aspects di erent from the so- For solving discrete real-world optimization prob-
lution of continuous problems. The blindness of the lems, there has to be an application speci c genotype
algorithm during the search in the space of encod- encoding and `intelligent' operators, which only cre-
ings must be abandoned, because this space is dis- ate admissible individuals. During the application
crete and the search has to reach feasible points after of these operators, problem speci c knowledge can
the application of the gentic operators. This can be be used to generate high quality o spring. Here |
achieved by the use of a problem speci c genotype in contrast to function optimization for example |
encoding, and hybrid, knowledge based techniques, bad genes, which would never be a building-block
which support the algorithm during the creation of in a global optimal solution, could be recognized.
the initial individuals and the following optimization The designer of a genetic algorithm can take care
process. In this paper a genetic algorithm for the that these bad genes are not included in the pop-
layout generation of VLSI-chips is presented, which ulation by hill-climbing strategies, which could be
optimizes two, usually consecutively solved tasks si- integrated in the construction of the initial individ-
multaneously: together with the placement of the uals or during the application of the operators. In
modules, the routes for the interconnection nets are opposite to this, one could not know the good genes,
optimized. i. e. the building-blocks which construct the opti-
mal solution. Therefore, the designer has to support
INTRODUCTION the genetic algorithm by presenting a pool of good
genes. From this pool the algorithm can compose
One of the main feature of a genetic algorithm ap- some good and (hopefully) eventually the optimal
plied to an optimization problem is the fact, that solution to the given optimization problem.
it does not deal with the problem itself, but with
encodings of solutions for this problem. Thus the In the following, after a short description of the phys-
genetic algorithm explores the space of these encod- ical design process of VLSI-chips, a problem speci c
ings rather than the solution space itself. For contin- genetic algorithm for the layout generation is de-
uous parameter optimization problems, both spaces scribed. This approach takes into account the pre-
are identically. A straight-forward genotype encod- vious mentioned items by covering the following fea-
ing in this case is a string of genes, which are simple tures:
oats. Each gene represents an element of the vector
de ning a point in the solution space. The standard a problem speci c genotype representation
mutation operator randomly modi es single genes,
and crossover is done by direct merging of two gene a hybrid approach for the creation of the initial
strings, which results in two o spring. All o spring population
represent correct encodings and these encodings de-
ne admissible solutions to the given optimization problem speci c, `intelligent' operators
problem, because of the one-to-one (genotype to phe-
notype) mapping between both spaces. multiple gene representation in a single individ-
ual
For discrete problems with string type genotype en-
coding, not every possible string represents a correct LAYOUT GENERATION
solution. It is even worse that simple crossing-over
of two individuals does not necessarily lead to a cor- Modern VLSI (very large scale integrated) mi-
rect o spring. There some repairment has to be done crochips contain some million transistors. The de-
This work is being supported in the BMBF-project sign cycle for these chips consists of di erent serial
`HYBRID{Applications of Parallel Genetic Algorithms for steps (e. g. system speci cation, functional design,
Combinatorial Optimization'. logic design, circuit design, physical design)8]. The

1
physical design outlines the transformation of a cir-
cuit description (which is the result of the preced- 1 4

ing circuit design process) into the layout of a chip,


which is needed for the following fabrication step 7 5
3, 5]. The layout includes the geometric descrip-
tion of the circuit components and the information 7 2 6
for the routes of the interconnections between them.
It also has pads positioned on its borders for the I/O- { 1, 4 }
connections of the chip. The objectives in layout gen-
eration are to minimize the area of the circumscrib- {7} {5}

ing rectangle and to produce a routing with short


wirelengths, especially for some critical nets. { 7, 2, 6 }

height
Due to its complexity, the physical design is usually
divided into various, consecutive sub-steps: The cir-
cuit has to be partitioned to get a number of modules
(macro cells) which have to be placed on the chip width

(oorplanning). During placement there has to be


enough space reserved to ensure the completion of all
interconnections later on. In the routing phase, pins Figure 1: The input for a xed cell (top)
on the border of the modules have to be connected. and a exible cell with the shape-
This is done in two steps: In the global routing the function (bottom)
`loose' routes are determined, while in the detailed
routing the exact routes for the nets in each channel
between two modules are computed. The last step in
the physical design is the compaction of the layout, A GENETIC ALGORITHM
where it is compressed in all dimensions so that the FOR LAYOUT GENERATION
total area is reduced. The algorithm described in this
paper combines the routing with the placement pro- A layout is described by the positions of the mod-
cess during layout generation. For a more detailed ules, the chosen implementation for the exible mod-
description of the usual phases and possible solution ules and the routes of the interconnection nets on
methods in contrast to the approach described in this the layout-surface between the cells. Such a com-
paper see 7]. plex phenotype can not directly be represented by
a gene-string of elementary data-types. A feasible
way to characterize the placement of the modules is
a binary slicing tree. This tree is the problem spe-
ci c genotype encoding for the layout optimization
(cf. g. 2).
THE INPUT

The input to the layout generation process for macro-


cell layouts is a set of modules, which are rectan-
gular blocks. Each module represents a functional
unit which consists of hierarchically arranged sub-
cells. There are two kinds of modules (cf. g. 1):
A xed module has xed dimensions with exact ter-
minal positions for the interconnection nets on its
borders ( g. 1, top). A exible module can have
various implementations with di erent aspect ratios,
which are de ned by a shape-function. This is a step-
function which is characterized by a set of minimal
width/height combinations ( g. 1, bottom). For the
interconnection nets of a exible module, only a list
of terminals for each side is given but no exact termi-
nal positions, because these vary with the di erent Figure 2: The genotype representation
implementations.

2
The structure of the tree xes the relative placement to create building-blocks which de ne high quality
of the single blocks (modules) which are represented partial layouts. For that, a complete graph is con-
by its leaves. Each inner node represents a meta- structed: the nodes represent the blocks, and each
block, which de nes the arrangement for the set of edge is weighted with a value which de nes the qual-
blocks characterized by the leaves of the correspond- ity of a meta-block consisting of the two blocks char-
ing sub-tree and information about the routing in- acterized by the adjacent nodes. A matching in this
side this partial layout. All possible implementations graph is a set of disjunct node pairs and the max-
for exible blocks are taken into account by storing imum weighted matching is the matching with the
shape-functions for all nodes in the tree so that a maximal sum of edge weights (cf. g. 4). The qual-
single individual represents di erent layouts, if some ity of a meta-block is marked out by the number of
blocks are exible. When combining two blocks to common nets of the combined blocks.
a meta-block, the arrangement and the rotation of
the composed blocks are xed. Hence, the shape-
functions of both blocks can be added which results
in a shape-function for the meta-block. The number
of implementations for the meta-blocks in the higher 100

levels of the tree does not grow exponentially with


their height in the tree because there are redundant
implementations 7]. For the example shown in gure 65
75
3, two exible blocks with three and two implemen- 80

tations are positioned upon. The shape-function for 100

the resulting meta-block has only two di erent (non


redundant) implementations. An upper bound for
the routing space inside the meta-block is computed
60

and added to its shape-function.


(a) (b) (c)

80 + 75 = 155 60 + 100 = 160 100 + 65 = 165

Figure 4: A matching graph for four


blocks, the three possible match-
ings and the maximum weighted
matching (c)

The matching process is iterated for each level of the


tree until the root node is computed. In the second
iteration, meta-blocks which consist of two blocks
are paired, in the third iteration meta-blocks with
four blocks are combined, and so on. This heuristic
places highly connected blocks together and so re-
Figure 3: The combination of two exible duces the overall wirelength and the total area of the
blocks to a meta-block and the layout. Because the iterated matching is a determin-
addition of routing space istic process, care has to be taken to create various
individuals. For that, randomness is included in the
computation of the edge weights for some of the used
matching graphs.
HYBRID CREATION OF INDIVIDUALS
The slicing-tree for an individual of the initial pop- THE INTEGRATED ROUTING
ulation is composed in a bottom-up fashion. A spe-
cial heuristic { the iterated matching 2] { is used Because of the hierarchical construction of the in-

3
90 Figure 6: Fixing a global route by a top-
down traversal (left) for the
pseudo-optimal way (right)

the global routes were chosen randomly when com-


bining the meta-blocks, here the total wirelength is
considerably reduced. When choosing random routes
Figure 5: The construction of the detailed for all nets out of the channels, many nets are routed
routing when combining a meta- to the outer border of the layout and have to be con-
block nected after composing the root node. Of course
it could be possible to do the optimization of these
routes by the genetic algorithm later on, but if one is
able to compute (nearly) optimal routes `by hand',
dividuals and the binarity of the tree, the detailed there is no need for passing this work to the genetic
routing on the layout can be computed during the algorithm.
placement of the blocks. Note that a meta-block is
considered to be a xed unit in the higher levels of
the tree. When combining two blocks, all routing
inside the resulting meta-block is done (cf. g. 5). MULTIPLE GENES
Terminals on the outer borders are passed on as ter-
minals to the outer border of the meta-block. Ter- As mentioned before, all resulting implementations
minals in the channel and on the outer sides of the for the meta-blocks containing exible blocks are
blocks are connected, if they are shared by a com- stored. Storing all alternatives is useful because one
mon net. Nets inside the channel which could not could not decide in the lower levels of the tree, which
be connected or have to be connected to more termi- implementation of a meta-block would be the best to
nals than only those contained in this meta-block are minimize the overall area of the layout. Due to the
passed on as terminals to one of the borders which simple adding of shape-functions and the binarity of
are adjacent to the channel. For these nets, the direc- the tree, the optimal sizing of the exible modules
tion of the way out of the channel is determined by a to reach an optimal layout (optimal for the special
top-down traversal of the tree following the bottom- placement) can directly be determined by a top-down
up construction phase. During this phase there is traversal of the tree after xing the best implemen-
a check for each net, whether it is included inside of tation for the root node 7].
one of the partial layouts which are joined in an inner
node. In this case, the net has to cross the channel This technique can be characterized as storing mul-
and therefore a pseudo-optimal way for this net out tiple genes in some locations of the genotype. It is a
of the channels in both sons of this node can be xed very good example for an opportunity the designer
(cf. g. 6). of a gentic algorithm has to increase its performance
without directly guiding the search: when two blocks
This method achieves that the nets follow the hierar- are combined, good combinations can be determined
chy of the cuts de ned by the slicing tree structure. and bad combinations can be eliminated. But which
This way is often not optimal, but during the opti- of these good combinations are the best to be com-
mization process, the optimal structure of the slicing posed to a global optimal solution? Just let the ge-
tree | regarding layout area and routing | is com- netic algorithm decide by making available a pool of
puted. In comparison to former experiments, where good building-blocks!

4
THE OPTIMIZATION PROCESS genes from the parents) is smaller than for problems
where crossing-over directly leads to a correct indi-
After the construction of the initial individuals, vidual. During the adding of the missing blocks into
which already contain a lot of good components, the tree of the o spring, the iterated matching is
the genetic algorithm starts the optimization by used once more to construct new (good) building-
modifying individuals (mutation), and by combining blocks. It has turned out to be not helpful to do
building-blocks (crossover). Beside a mutation op- some `intelligent' crossover, i. e. looking for large dis-
erator for changing the arrangement of two blocks junct subtrees, for example. Research is carried out
inside a meta-block, the main mutation operators to include a recombination operator for gene pool
modify the slicing tree (cf. g. 7). One operator recombination. Here an o spring is constructed by
exchanges blocks or meta-blocks, which corresponds combining building-blocks out of a pool of good par-
to exchanging cells or partial layouts on the lay- tial solutions.
out surface. The other important mutation opera-
tor changes the structure of the tree by randomly When designing a genetic algorithm for a speci c
picking out a subtree and inserting it into the tree problem, it is very important that a global optimum
at a di erent position, which corresponds to moving can be reached starting from any set of individuals by
cells or partial layouts on the layout surface. Here the application of the genetic operators. For an al-
storing all important implementations for the meta- gorithm with tree-structured genotype encoding this
blocks once more enhances the performance of the means, if recombination only combines real subtrees
genetic algorithm, because for a moved partial lay- with at least two leaves, then each pair of leaves con-
out a di erent implementation might be better in its tained in the encoding of an optimal solution must
new environment. already exist in one of the initial individuals, or must
be able to be constructed by mutation. Otherwise
the genetic algorithm will never reach the optimum.

Figure 7: Mutation by exchaning blocks


(top) and by changing the struc-
ture of slicing tree (bottom)

The implementation of the crossover operator is


straight-forward: Two individuals are randomly cho-
sen to produce one o spring. Two disjunct subtrees
are searched in the parents which are composed to a
subtree in the o spring. Because these subtrees usu-
ally do not build a complete layout, a third part has Figure 8: A layout with 33 macro-cells
to be added to the layout of the resulting o spring.
Due to this, the heritability (number of transmitted

5
RESULTS combine both steps.
The algorithm has been tested on real-world circuits The described application is a good example for the
with 10 to 49 modules and up to 500 nets. Fig- tasks which research on genetic algorithms should
ure 8 presents a layout for a circuit with 33 xed deal with: Because of the nondeterministic be-
modules and 123 nets. For a direct comparison to haviour and the long runtimes, genetic algorithms
commercial placement and routing tools, an ecient will never succeed against other optimization meth-
channel routing algorithm has to be implemented. ods for low complexity problems that allow fast
In the current version, a very simple routing strat- greedy solutions. But for high complexity prob-
egy is applied when combining two blocks: for each lems without any known sophisticated solution tech-
net in the channel, one special track is added which niques, a genetic approach is well suited. By solving
results in an excessive routing space. Apart from such a hard and complex problem, critics can eas-
the quantitative comparison it can be said that this ily be convinced of the power and the advantages
is the only known approach to the layout generation of genetic algorithms. When designing a genetic al-
process, which concurrently optimizes the placement gorithm for such a special application, it is impor-
together with the detailed routing. tant to withdraw from usual solution methods in one
part, but using hybrid approaches and problem spe-
ci c knowledge for hill-climbing in another. By do-
FUTURE RESEARCH ing so, there always is the trade-o between directed
A parallelization of the genetic algorithm is planned search and random search. The designer has to nd
and along with this the implementation of a strat- out, which part of the optimization can be done `by
egy adaptation 6]. There are many mutation opera- hand', how the genetic algorithm can be supported
tors, which are applied with di erent frequencies. It during the search process, and which tasks must be
might be ingenious to exchange or move large parts left for the genetic algorithm to work on.
of the layout during the early stage of optimization,
and doing only minor changes when the population REFERENCES
converges to an optimum. This can become possible 1. A. E. Eiben, P.-E. Raue, Z. Ruttkay, Genetic algo-
by adapting the frequencies of the di erent mutation rithms with multi-parent recombination, 3rd Conf. on
operators during the optimization. Parallel Problem Solving from Nature, Springer Lec-
ture Notes in Computer Science 866, 1994, 78{87
Further a gene-pool recombination operator 1, 4] 2. A. Fritsch, O. Vornberger, Cutting Stock by Iterated
will be implemented which might replace the current Matching, Operations Research Proceedings, Selected
crossover operator. For a combinatorial optimiza- Papers of the Int. Conf. on OR 94, U. Derigs, A.
tion problem like the layout generation, the biologi- Bachem, A. Drexl (eds), Springer Verlag, 1995, 92{
cally motivated crossing of two parent chromosomes 97
is likely to be less ecient. The construction of an 3. T. Lengauer, Combinatorial Algorithms for Integrated
o spring out of a pool of good building-blocks seems Circuit Layout, John Wiley & Sons, 1990
to be more suitable. 4. H. Muhlenbein, H.-M. Voigt, Gene Pool Recombina-
tion in Genetic Algorithms, Procs. of the Metaheuris-
CONCLUSIONS tics Int. Conf., I. H. Osman, J. P. Kelly (eds.), Kluwer
Academic Publishers, Norwell, 1995
For the application of genetic algorithms to optimize 5. S. M. Sait, H. Youssef, VLSI Physical Design Automa-
combinatorial problems, the focal point is to nd a tion: Theory and Practice, McGraw-Hill (1995)
proper genotype encoding and all genetic operators, 6. D. Schlierkamp-Voosen, H. Muhlenbein, Strategy
which are necessary to enable the algorithm to reach Adaptation by Competing Subpopulations, 3rd Conf.
a global optimum. Solutions to real-world optimiza- on Parallel Problem Solving from Nature, Springer
tion problems are too complex for being represented Lecture Notes in Computer Science 866, 1994, 199{
as a simple gene-string. In the layout optimization 208
process, due to the problem speci c genotype encod- 7. V. Schnecke, O. Vornberger, Genetic Design of VLSI-
ing as a binary tree, the genetic algorithm is able to Layouts, Procs. First IEE/IEEE Int. Conf. on GAs in
compute and optimize the routing on a chip concur- Engineering Systems: Innovations and Applications,
rently with the placement of the modules. Usually GALESIA '95, IEE Conference Publication No. 414,
in VLSI-CAD tools this is done in consecutive steps 1995, 430{435
because of the complexity of the single optimization 8. N. Sherwani, Algorithms for VLSI Physical Design
problems. But according to the strong interdepen- Automation, Kluwer Academic Publishers, 1993
dencies between the arrangement of the modules and
the routing of the interconnection nets, it is wise to

You might also like