A Genetic Approach to Standard Cell Placement Using Meta- Genetic Parameter Optimization Khusro Shahookar Pinaka Mazumder
Genetic Algorithms
Genetic Placement Population consists of an array of unordered triples – x-position, y-position, cell number Fitness = 1 / (total wire length) Cyclic crossover breeding scheme Mutation: – Cell Swapping – Inversion
Cyclic Crossover Each cell’s position in offspring matches position in one of the offspring’s parents – Naturally cyclic (see example) Randomly select starting parent and starting position – Give cells to offspring such that the above holds
Cyclic Crossover - Example
Mutation Cell Swapping – Swap two cells at random – Changes placement Inversion – Change the order of cells in the array – Does not change placement – Changes crossover behavior “Genes” combine in new ways
Meta-Genetic Parameter Opt. 1 Recall Genetic Algorithm Takes Parameters: – Rc – Rate of Crossover – Ri – Rate of Inversion – Rm – Rate of Mutation (cell swapping) Where do these parameters come from? – “Vanilla” genetic: The user – MGPO: Another genetic process
Meta-Genetic Parameter Opt. 2 A genetic algorithm inside a genetic algorithm MetaGenetic() keeps a population of triples: – Rc, Ri, Rm MetaGenetic() runs Genetic() once for each member of its population MG() genetically improves parameters
Demonstrations (time permitting) Genetic Placement genetic –i gen_10_1.txt –np 1 –ng 1 –npg 10 –ngg 5 –v 7 Meta-Genetic Optimization genetic –i gen_10_1.txt –np 3 –ng 5 –v 4 Large-Scale Interaction (MG+G) genetic –i gen_50_1.txt –v 4
Results versus Timberwolf GeneticTimberwolf 10-cell circuit cell circuit cell circuit cell circuit
Questions ?