Download presentation
Presentation is loading. Please wait.
Published byMuriel Phillips Modified over 9 years ago
1
Genie: A Genetic Placement Algorithm James P. Cohoon William D. Paris © 1987 IEEE
2
Genetic Algorithms State Space Search –similar to SA Based on principles of natural selection and evolution Population of solutions, of varying fitness levels Solutions ‘mate’ or crossover, to form offspring Solutions randomly mutate to introduce new genes into the current population Best solutions have a better chance of surviving to the next generation
3
Pseudo Code overview Create an initial population P While (best score hasn’t improved in 10,000 generations) { Offspring = Crossover(s1, s2 in P)* P = Selection(P U O)* For( i=1 to k*) Mutate(s in P) } *Solutions are selected for crossover proportional to the fitness level of individual. If (fitness < average) solution is rejected for crossover. *k = random normal function of mean K*Pop_Size*Num_Nets
4
Population Constructor A B E G I J Net 3: A, B, E, G, I, J Net 2: A, D, E, F, H Net 1: A, B, C, D Step 1: Randomly select a net (Z) Step 2: Place free modules in net Z on grid from L to R
5
Population Constructor A B E G I J Step 1: Randomly select a net (Z) Step 2: Place free modules in net Z on grid from L to R Net 1: A, B, C, D Net 2: A, D, E, F, H Step 3: Update free modules and nets Net 3: A, B, E, G, I, J
6
Population Constructor A B E G I J Step 1: Randomly select a net (Z) Step 2: Place free modules in net Z on grid from L to R Step 3: Update free modules and nets Step 4: Select next net Do { module m = previous module placed } Until ( m is in a free net || no mods left on net) if (success) go to Step 2 else go to Step 1 Net 1: A, B, C, D Net 2: A, D, E, F, H Net 3: A, B, E, G, I, J
7
Population Constructor A B E G I J Step 1: Randomly select a net (Z) Step 2: Place free modules in net Z on grid from L to R Step 3: Update free modules and nets Step 4: Select next net Do { module m = previous module placed } Until ( m is in a free net ) if (success) go to Step 2 else go to Step 1 Net 1: A, B, C, D Net 2: A, D, E, F, H Net 3: A, B, E, G, I, J D F H
8
Population Constructor A B E G I J Step 1: Randomly select a net (Z) Step 2: Place free modules in net Z on grid from L to R Step 3: Update free modules and nets Step 4: Select next net Do { module m = previous module placed } Until ( m is in a free net ) if (success) go to Step 2 else go to Step 1 Net 1: A, B, C, D Net 2: A, D, E, F, H Net 3: A, B, E, G, I, J D F HC
9
Fitness Calculation Semi-perimeter bounding rectangle for each net Measure of excess channel usage Penalized if channel has above average # nets ie non-uniform channel usage
10
Crossover Operator A B C D E F G H I G I B F J L K D C Passing ParentTarget Parent
11
Crossover Operator A B C D E F G H I Passing ParentCopy of Target Parent A E H J L K
12
Crossover Operator A B C D E F G H I Passing ParentCopy of Target Parent A B C D E F G H I K L J
13
Mutation Operator Selects a random net (Z) in Solution (s). Selects a random Module on Z Locates farthest module on net Z, and moves it as close as possible. A D 1 is preferred (dY < dX) if B or C @ 1, 2 is preferred If B, C @ 1,2, 3 is required 1 23 Net 1: A, B, C, D
14
Mutation Operator Net 1: A, B, C, D Step 1: Select a random net Step 2: Select a random module Initial Solution A B C D Step 3: Locate farthest module on net E
15
Mutation Operator Net 1: A, B, C, D Step 1: Select a random net Step 2: Select a random module Initial Solution A B C D Step 3: Locate farthest module on net Step 4: Slide module to closest possible location E
16
Results Authors ResultsMy Results Vs TW* *simplified algorithm, Implemented by me TW cost function used for both algorithms chipGenie Score Genie Time TW Score TW Time 10_1402.27us59.26us 10_2422.2us60.31us 50_1275523us379436.5us 50_2329535.6us495929.2us
17
Merits of GA’s Pros: Large Population provides information about past solution space - provides a more guided search Can keep inferior solutions without destroying the good ones crossover allows for the best parts of multiple solutions to form into one Cons: High memory requirement Difficult parameterization (population size, rate of mutation, weighted fitness for selection, etc)
18
My Thoughts Potential Areas of improvement Crossover -Poor for small circuits (Converge to local optima too quickly) Mutation -too deterministic (almost always improves solution)
19
References Genetic Placement James P. Cohoon, member, IEEE, and William D. Paris IEEE Transactions on Computer Aided Design, Vol. Cad-6, No. 6, November 1987 VLSI Cell Placement Techniques K. SHAHOOKAR AND P. MAZUMDER Department of Electrical Engineering and Computer Sc~ence, University of Michigan, Ann Arbor, Michigan 48109 ACM Computing Surveys, Vol. 23, No. 2, June 1991
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.