Presentation is loading. Please wait.

Presentation is loading. Please wait.

Genie: A Genetic Placement Algorithm James P. Cohoon William D. Paris © 1987 IEEE.

Similar presentations


Presentation on theme: "Genie: A Genetic Placement Algorithm James P. Cohoon William D. Paris © 1987 IEEE."— Presentation transcript:

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


Download ppt "Genie: A Genetic Placement Algorithm James P. Cohoon William D. Paris © 1987 IEEE."

Similar presentations


Ads by Google