Supergenes in a genetic algorithm for heterogeneous FPGA placement

Supergenes are an addition to a genetic algorithm's genome that duplicate genes in the genome, represent local optimizations, and have the potential to be expressed overriding the duplicated gene. We introduce supergenes in a genetic algorithm for FPGA placement where a placement algorithm places a mix of fine-grain components and medium-grain components (where a medium-grain component is 2 to 10 times the size of a finegrain component). This is the first placement algorithm, to our knowledge, that can deal with such a mix of components. Our results show that supergenes improve a placement metric (clock speed of the FPGA) by approximately 10%. We also show and explore mutation operators on supergenes, and we experimentally demonstrate that the expression of a supergene can be effectively controlled via a binary function for our placement problem.

[1]  Annie S. Wu,et al.  The Proportional Genetic Algorithm: Gene Expression in a Genetic Algorithm , 2002, Genetic Programming and Evolvable Machines.

[2]  C. D. Gelatt,et al.  Optimization by Simulated Annealing , 1983, Science.

[3]  Fred W. Glover,et al.  Future paths for integer programming and links to artificial intelligence , 1986, Comput. Oper. Res..

[4]  Vaughn Betz,et al.  Directional bias and non-uniformity in FPGA global routing architectures , 1996, Proceedings of International Conference on Computer Aided Design.

[5]  Vaughn Betz,et al.  High-quality, deterministic parallel placement for FPGAs on commodity hardware , 2008, FPGA '08.

[6]  M. D. F. Wong,et al.  Floorplan design for multi-million gate FPGAs , 2004, ICCAD 2004.

[7]  Jarrod A. Roy,et al.  Solving modern mixed-size placement instances , 2009, Integr..

[8]  Peter Eggenberger,et al.  Evolving Morphologies of Simulated 3d Organisms Based on Differential Gene Expression , 1997 .

[9]  Dinesh Bhatia,et al.  A methodology for fast FPGA floorplanning , 1999, FPGA '99.

[10]  Kalyanmoy Deb,et al.  Messy Genetic Algorithms: Motivation, Analysis, and First Results , 1989, Complex Syst..

[11]  Gary William Grewal,et al.  Depictions of genotypic space for evaluating the suitability of different recombination operators , 2012, GECCO '12.

[12]  Stephen D. Brown,et al.  Incremental placement for layout-driven optimizations on FPGAs , 2002, IEEE/ACM International Conference on Computer Aided Design, 2002. ICCAD 2002..

[13]  D. E. Goldberg,et al.  Genetic Algorithms in Search , 1989 .

[14]  Elizabeth M. Rudnick,et al.  Genetic algorithms for VLSI design, layout & test automation , 1999 .

[15]  Lalit M. Patnaik,et al.  An evolutionary approach to timing driven FPGA placement , 2000, ACM Great Lakes Symposium on VLSI.

[16]  Lesley Shannon,et al.  Finding System-Level Information and Analyzing Its Correlation to FPGA Placement , 2010, 2010 International Conference on Field Programmable Logic and Applications.

[17]  P. Jamieson Exploring Inevitable Convergence for a Genetic Algorithm Persistent FPGA Placer , 2011 .

[18]  David E. Goldberg,et al.  Alleles, loci and the traveling salesman problem , 1985 .

[19]  Bernhard M. Riess,et al.  SPEED: fast and efficient timing driven placement , 1995, Proceedings of ISCAS'95 - International Symposium on Circuits and Systems.

[20]  Andrew A. Kennings,et al.  Engineering details of a stable force-directed placer , 2004, IEEE/ACM International Conference on Computer Aided Design, 2004. ICCAD-2004..

[21]  Peter Jamieson,et al.  Using Simple Ancestry to Deter Inbreeding for Persistent Genetic Algorithm Search , 2012 .

[22]  Peter Eggenberger-Hotz Evolving Morphologies of Simulated 3d Organisms Based on Differential Gene Expression , 2007 .

[23]  Vaughn Betz,et al.  Architecture and CAD for Deep-Submicron FPGAS , 1999, The Springer International Series in Engineering and Computer Science.

[24]  Meng Yang,et al.  FPGA placement optimization by two-step unified Genetic Algorithm and Simulated Annealing algorithm , 2006 .

[25]  Jonathan Rose,et al.  Enhancing the area-efficiency of FPGAs with hard circuits using shadow clusters , 2006, 2006 IEEE International Conference on Field Programmable Technology.

[26]  Dana S. Richards,et al.  Distributed genetic algorithms for the floorplan design problem , 1991, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[27]  David E. Goldberg,et al.  Genetic Algorithms in Search Optimization and Machine Learning , 1988 .

[28]  Andrew B. Kahng,et al.  Partitioning-based standard-cell global placement with an exact objective , 1997, ISPD '97.

[29]  Gary William Grewal,et al.  A formal and empirical analysis of recombination for genetic algorithm-based approaches to the FPGA placement problem , 2012, 2012 25th IEEE Canadian Conference on Electrical and Computer Engineering (CCECE).

[30]  Peter Jamieson,et al.  Revisiting Genetic Algorithms for the FPGA Placement Problem , 2010, GEM.

[31]  Georg Sigl,et al.  GORDIAN: VLSI placement by quadratic programming and slicing optimization , 1991, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[32]  Erich Barke,et al.  Circuit partitioning using high level design information , 1996 .

[33]  James Mallet,et al.  A Conserved Supergene Locus Controls Colour Pattern Diversity in Heliconius Butterflies , 2006, PLoS biology.

[34]  Kenneth B. Kent,et al.  The VTR project: architecture and CAD for FPGAs from verilog to routing , 2012, FPGA '12.

[35]  Larry J. Eshelman,et al.  The CHC Adaptive Search Algorithm: How to Have Safe Search When Engaging in Nontraditional Genetic Recombination , 1990, FOGA.

[36]  Martin D. F. Wong,et al.  Floorplan Design for Multimillion Gate FPGAs , 2006, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[37]  John H. Holland,et al.  Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence , 1992 .

[38]  Mark Wineberg,et al.  The Problems with Counting Ancestors in a Simple Genetic Algorithm , 2007, ECAL.

[39]  Brian W. Kernighan,et al.  A Procedure for Placement of Standard-Cell VLSI Circuits , 1985, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.