Presentation is loading. Please wait.

Presentation is loading. Please wait.

GENIE Eric Jackowski.

Similar presentations


Presentation on theme: "GENIE Eric Jackowski."— Presentation transcript:

1 GENIE Eric Jackowski

2 GENIE Genetic Algorithm for Placement
“Genetic Placement,” Cohoon and Paris “VLSI Placement Techniques,” Shahookar and Mazumder Uses Directed-Evolution Methodology Obtains optimal solutions faster Avoids Premature Homogeneity Uses randomness in the functions Evaluates Several Functions Population, Choice, Crossover, Selector, Mutation

3 Genie Data Structures Net Cell Layout
Name, # of Connections, Array of Cells Cell Name, # of Ports, Array of Nets Layout # of Rows, # of Columns, Array of Cells

4 Scoring Function σ hi = # of nets whose bounding rectangle crosses a horizontal channel vi = # of nets whose bounding rectangle crosses a vertical channel h = average h, v = average v Sh and Sv= one standard deviation of vertical and horizontal usage Score =

5 Population Constructor Ξ
Ξ1 place random cells at random locations Ξ2 and Ξ3 choose the same order cells are assigned. Randomly select a net Place all unplaced cells on net Select an unselected net from the last cell placed Randomly select a cell on that net Ξ2 places in boustrophedon fashion Ξ3 places in row major fashion Ξ2 Ξ3

6 Crossover Function ψ Ψ1 randomly select cell from parent and place in child. “Slide” neighboring cells to new locations Ψ2 randomly select a k x k square from parent and copy it into the child. For the cells in the child block that are not in the parent block, move them to the cell locations of the cells in the parent block that are not in the child block.

7 Crossover Choice Function Φ
Φ1 chooses random string and best scoring string for crossover Φ2 randomly chooses both strings for crossover Φ3 and Φ4 choose random string with probability based on the score Φ3: Φ4:

8 Selector Function ρ ρ1 chooses the best scoring string from the Population and the Offspring ρ2 randomly choose P strings from the Population and Offspring ρ3 randomly chooses string αj from the population and offspring with probability

9 Mutation Function μ μ1 randomly chooses two cells and interchanges them μ2 uses a directed evolution transformation to reduce the bounding rectangle for a random net Randomly select a net Randomly select a Cell, es, on that net Find farthest Cell, et, from the selected cell Place the et next to the es and slide surrounding cells Find the next farthest cell from es Place the second farthest cell next to es μ2* swaps the position of two cells if they are already adjacent

10 GENIE Algorithm Ξ1 Ξ3 Iterations<10000 .25p .75p Population Φ4
Parentx Parenty i < p * KΨ Ψ2 Offspring σ2 Population i < k μ2 Population

11 GENIE vs TW Total Wirelength Number of Iterations Overall Time
GENIE 1.2x better on large circuits TW .8 better on smaller circuits Number of Iterations GENIE orders of magnitude less Overall Time TW 2x faster on large circuits GENIE 2x faster on small circuits

12 Discussion Challenges Lessons Learned “Sliding”, μ2, Ξ3
Need mutation otherwise converge to quickly The order in which you “slide” is very important

13 Questions

14 Appendix GENIE ALGORITHM

15 Appendix GENIE1: 25% Ξ1 75% Ξ3 Φ4 ψ2 σ2 μ2

16 Appendix Initialize; Np  population size; No  Np * Pψ;
/* where Pψ is the desired ratio of the number of offspring to the population size */ Construct_population(Np); FOR i  1 To Np score(population[i]); ENDFOR; FOR i + 1 TO Number_ of_ Generations FOR j  To No (x, y)  Choose _Parents; offspring[ j]  generate _Offspring( x, y); Score(offspring[ j]); ENDFOR; population  Select(population, offspring, NP); FORj  i To Np With probability Pμ Mutate(population[j] ); ENDFOR; ENDFOR Return highest scoring configuration in population;


Download ppt "GENIE Eric Jackowski."

Similar presentations


Ads by Google