Advancing genetic algorithm approaches to field programmable gate array placement with enhanced recombination operators

Abstract Since their inception, field programmable gate arrays have seen an enormous growth in usage because they can dramatically reduce design and manufacturing costs. However, the time required for placement (a key step in the design) is dominating the compilation process. In this paper, we take some initial theoretical steps towards developing an efficient genetic algorithm for solving the placement problem by developing suitable recombination operators for performing placement. According to Holland, when the genetic algorithm recombines two parent genotypes, the differences between them define a genotypic subspace, and any offspring produced should be confined to this subspace. Those recombination operators that violate this principle can direct a search away from the region containing the parent genotypes and this is contrary to the intended task for recombination. This is often detrimental to search performance. This paper contributes the development of an intuitive visualization technique that can be used to easily detect violations of the previous principle. The efficacy of the proposed methodology is demonstrated and it is demonstrated that many standard recombination operators violate this principle. The methodology is then used to guide the development of novel operators that exhibit substantial (and statistically significant) improvements in performance over standard recombination operators.

[1]  Cheng-Kok Koh,et al.  Recursive bisection based mixed block placement , 2004, ISPD '04.

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

[3]  Andrew B. Kahng,et al.  Can recursive bisection alone produce routable, placements? , 2000, Proceedings 37th Design Automation Conference.

[4]  Vaughn Betz,et al.  VPR: A new packing, placement and routing tool for FPGA research , 1997, FPL.

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

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

[7]  Nicholas J. Radcliffe,et al.  Equivalence Class Analysis of Genetic Algorithms , 1991, Complex Syst..

[8]  Pinaki Mazumder,et al.  VLSI cell placement techniques , 1991, CSUR.

[9]  Riccardo Poli,et al.  Topological Interpretation of Crossover , 2004, GECCO.

[10]  Miguel A. Vega-Rodríguez,et al.  A FPGA Optimization Tool Based on a Multi-island Genetic Algorithm Distributed over Grid Environments , 2008, 2008 Eighth IEEE International Symposium on Cluster Computing and the Grid (CCGRID).

[11]  Gary William Grewal,et al.  Meta-Heuristic Based Techniques for FPGA Placement: A Study , 2009, Int. J. Comput. Their Appl..

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

[13]  Martine D. F. Schlag,et al.  Parallel placement for field-programmable gate arrays , 2003, FPGA '03.

[14]  Mengjie Zhang,et al.  Balancing Parent and Offspring Selection in Genetic Programming , 2009, Australasian Conference on Artificial Intelligence.

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

[16]  Nicholas J. Radcliffe,et al.  The algebra of genetic algorithms , 1994, Annals of Mathematics and Artificial Intelligence.

[17]  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.

[18]  José Ignacio Hidalgo,et al.  Partitioning and placement for multi-FPGA systems using genetic algorithms , 2000, Proceedings of the 26th Euromicro Conference. EUROMICRO 2000. Informatics: Inventing the Future.

[19]  Konrad Doll,et al.  Analytical placement: a linear or a quadratic objective function? , 1991, 28th ACM/IEEE Design Automation Conference.

[20]  James P. Cohoon,et al.  Genetic Placement , 1987, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[21]  Jason Cong,et al.  Multilevel generalized force-directed method for circuit placement , 2005, ISPD '05.

[22]  Riccardo Poli,et al.  Geometric crossover for the permutation representation , 2011, Intelligenza Artificiale.

[23]  Patrick D. Surry,et al.  Formal Algorithms + Formal Representations = Search Strategies , 1996, PPSN.

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

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

[26]  Vaughn Betz,et al.  Timing-driven placement for FPGAs , 2000, FPGA '00.

[27]  Marco Tomassini,et al.  Placing and Routing Circuits on FPGAs by Means of Parallel and Distributed Genetic Programming , 2001, ICES.

[28]  Andrew B. Kahng,et al.  Implementation and extensibility of an analytic placer , 2005, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[29]  M. Yang,et al.  An evolutionary approach for symmetrical field programmable gate array placement , 2005, Research in Microelectronics and Electronics, 2005 PhD.

[30]  Krzysztof Krawiec,et al.  Geometric Semantic Genetic Programming , 2012, PPSN.

[31]  G. Grewal,et al.  Hierarchical FPGA placement , 2007, Canadian Journal of Electrical and Computer Engineering.

[32]  Andrew B. Kahng,et al.  Optimal partitioners and end-case placers for standard-cell layout , 1999, ISPD '99.

[33]  Andrew B. Kahng,et al.  Architecture and details of a high quality, large-scale analytical placer , 2005, ICCAD-2005. IEEE/ACM International Conference on Computer-Aided Design, 2005..

[34]  V. Kamakoti,et al.  A parallel genetic approach to the placement problem for field programmable gate arrays , 2003, Proceedings International Parallel and Distributed Processing Symposium.

[35]  Carl Sechen,et al.  Timing Driven Placement for Large Standard Cell Circuits , 1995, 32nd Design Automation Conference.

[36]  John J. Grefenstette,et al.  Genetic Algorithms for the Traveling Salesman Problem , 1985, ICGA.

[37]  Franz Rothlauf,et al.  Representations for genetic and evolutionary algorithms , 2002, Studies in Fuzziness and Soft Computing.

[38]  GUNAR E. LIEPINS,et al.  Representational issues in genetic optimization , 1990, J. Exp. Theor. Artif. Intell..

[39]  M Xu,et al.  Near-linear wirelength estimation for FPGA placement , 2009, Canadian Journal of Electrical and Computer Engineering.

[40]  Gary William Grewal,et al.  StarPlace: A new analytic method for FPGA placement , 2011, Integr..

[41]  Lesley Shannon,et al.  Supergenes in a genetic algorithm for heterogeneous FPGA placement , 2013, 2013 IEEE Congress on Evolutionary Computation.

[42]  Krzysztof Krawiec,et al.  Locally geometric semantic crossover: a study on the roles of semantics and homology in recombination operators , 2012, Genetic Programming and Evolvable Machines.

[43]  Larry J. Eshelman,et al.  On Crossover as an Evolutionarily Viable Strategy , 1991, ICGA.

[44]  V. Kamakoti,et al.  A novel approach to the placement and routing problems for field programmable gate arrays , 2007, Appl. Soft Comput..