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.
















Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Jamieson P, Gharibian F, Shannon L (2013) Supergenes in a genetic algorithm for heterogeneous FPGA placement. In: IEEE congress on evolutionary computation, pp 253–260
Collier R, Fobel C, Grewal G, Wineberg M (2012) Depictions of genotypic space for evaluating the suitability of different recombination operators. In: Proceedings of the 14th genetic and evolutionary computation conference, pp 609–616
Goldberg D (1989) Genetic algorithms in search, optimization, and machine learning. Addison-Wesley Publishing Inc., Reading, MA
Holland J (1992) Adaptation in natural and artificial systems. MIT Press, Cambridge
Surry P, Radcliffe N (1996) Formal algorithms + formal representations = search strategies. In: Proceedings of the 4th international conference on parallel problem solving from nature, pp 366–375
Radcliffe N (1994) The algebra of genetic algorithms. Ann Math Artif Intell 10:339–384
Radcliffe N (1991) Equivalence class analysis of genetic algorithms. Complex Syst 5:183–205
Liepins G, Vose M (1990) Representational issues in genetic optimization. J Exp Theor Artif Intell 2(2):101–115
Rothlauf F (2002) Representations for genetic and evolutionary algorithms. Physica-Verlag, Heidelberg
Moraglio A, Poli R (2004) Topological interpretation of crossover. In: Proceedings of the 6th genetic and evolutionary computation conference, pp 1377–1388
Moraglio A, Poli R (2011) Geometric crossover for the permutation representation. Intell Artif 5:49–63
Schaffer J, Eschelman L (1991) On crossover as an evolutionarily viable strategy. In: Proceedings of the 4th international conference on genetic algorithms, pp 61–68
Shakookar K, Mazumder P (1991) VLSI cell placement techniques. ACM Commut Surv 23(2):143–220
Xu M, Grewal G, Areibi S, Obimbo C, Banerji D (2009) Near-linear wirelength estimation for FPGA placement. Can J Electr Comput Eng 34(3):125–132
Caldwell A, Kahng A, Markov I (2000) Can recursive bisection alone produce routable placements? In: Proceedings of the 37th annual design automation conference, pp 477–482
Dunlop A, Kernighan B (1985) A procedure for placement of standard-cell VLSI circuits. IEEE Trans Comput Aided Des Integr Circuits Syst 4(1):92–98
Caldwell A, Kahng A, Markov I (1999) Optimal partitioners and end-case placers for standard-cell layout. In: Proceedings of the 1999 international symposium on physical design, pp 90–96
Khatkhate A, Li C, Agnihorti A, Yildiz M, Ono S, Koh C, Madden P (2004) Recursive bisection based mixed block placement. In: International symposium on physical design, pp 84–89
Swartz W, Sechen C (1995) Timing-driven placement for large standard cell circuits. In: Design automation conference, pp 211–215
Kahng A, Wang Q (2005) Implementation and extensibility of an analytic placer. IEEE Trans Comput Aided Des Integr Circuits Syst 24(5):734–747
Sigl G, Doll K, Johannes F (1991) Analytical placement: a linear or a quadratic objective function? In: Proceedings of the 28th ACM/IEEE design automation conference, pp 427–432
Kahng A, Reda S, Wang Q (2005) Architecture and details of a high quality, large scale analytical placer. In: Proceedings of the 2005 IEEE/ACM international conference on computer-aided design, pp 891–898
Chan T, Cong J, Sze K (2005) Multilevel generalized force-directed method for circuit placement. In: Proceedings of the 2005 international symposium on physical design, pp 185–192
Chan P, Schlag M (2003) Parallel placement for field-programmable gate arrays. In: Proceedings of the ACM/SIGDA eleventh international symposium on field programmable gate arrays, pp 43–50
Xu M, Grewal G, Areibi S (2011) StarPlace: a new analytic placement method for FPGA placement. Integr VLSI J 44:192–204
Betz V, Rose J (2007) VPR: a new packing, placement and routing tool for FPGA research. Field Program Log Appl 1304:213–222
Areibi S, Grewal G, Banerji D, Du P (2007) Hierarchical FPGA placement. Can J Electr Comput Eng 32(1):53–64
Areibi S, Bao X, Grewal G, Banerji D, Du P (2008) Meta-heuristic based techniques for FPGA placement: a study. ACTA Int J Comput 16(1):13–33
Marquardt A, Betz V, Rose J (2000) Timing-driven placement for FPGAs. In: Proceedings of the 2000 ACM/SIGDA eight international symposium on field programmable gate arrays, pp 203–213
Venkatraman R, Patnaik LM (2000) An evolutionary approach to timing driven FPGA placement. In: Proceedings of the 10 Great Lakes symposium on VLSI, pp 81–85
Cohoon J, Paris W (1987) Genetic placement. IEEE Trans Comput Aided Des Integr Circuits Syst 6:956–964
Yang M, Almaini A, Wang P (2006) FPGA placement optimization by two-step unified genetic algorithm and simulated annealing algorithm. J Electron 23(4):632–636
Fernández F, Sánchez-Pérez J, Tomassini M (2001) Placing and routing circuits on FPGAs by means of parallel and distributed genetic programming. In: Proceedings of the 4th international conference on evolvable systems, pp 204–215
Borra S, Muthukaruppan A, Suresh S, Kamakoti V (2007) A novel approach to the placement and routing problems for field programmable gate arrays. Appl Soft Comput 7(1):455–470
Rubio-Solar M, Vega-Rodríguez M, Sánchez-Pérez J, Gómez-Iglesias A, Cárdenas-Montes M (2008) A FPGA optimization tool based on a multi-island genetic algorithm distributed over grid environments. In: IEEE computer society, pp 65–72
Hidalgo J, Lanchares J, Hermida R (2000) Partitioning and placement for multi-FPGA systems using genetic algorithms. In: Proceedings of the 26th Euromicro conference, pp 204–211
Borra S, Muthukaruppan A, Suresh S, Kamakoti V (2003) A parallel genetic approach to the placement problem for field programmable gate arrays. In: IEEE computer society, pp 1841–1848
Baruch Z, Creţ O, Giurgiu H (1999) Genetic algorithm for FPGA placement. In: Proceedings of the 12th international conference on control systems and computer science, vol 2, pp 121–126
Yang M, Almaini A, Wang L, Wang P (2005) An evolutionary approach for symmetrical field programmable gate array placement. Res Microelectron Electron 1:169–172
Areibi S, Bao X, Grewal G, Banerji D (2006) A comparison of heuristics for FPGA placement. In: ACTA international journal of computers and applications
Grefenstette J, Gopal R, Rosmaita B, Gucht D (1985) Genetic algorithms for the traveling salesman problem. In: Proceedings of the 1st international conference on genetic algorithms, pp 160–168
Jamieson P (2010) Revisiting genetic algorithms for the FPGA placement problem. In: Proceedings of the international conference of genetic and evolutionary methods, pp 16–22
Buckland M (2002) AI techniques for game programming, 1st edn. Course Technology PTR, Cincinnati
Krawiec K, Pawlak T (2013) Locally geometric semantic crossover: a study on the roles of semantics and homology in recombination operators. Genet Program Evol Mach 14(1):31–63
Moraglio A, Krawiec K, Johnson C (2012) Geometric semantic genetic programming. In: Proceedings of the 12th international conference on parallel problem solving from nature, pp 21–31
Yang S (1991) Logic synthesis and optimization benchmarks user guide version 3.0. MCNC
Xie H, Zhang M (2009) Balancing parent offspring selection in genetic programming. In: AI 2009: advances in artificial intelligence, lecture notes in computer science, vol 5866, pp 454–464
Acknowledgments
The material is based on work supported by the natural sciences and engineering research council of Canada.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Collier, R., Fobel, C., Pattison, R. et al. Advancing genetic algorithm approaches to field programmable gate array placement with enhanced recombination operators. Evol. Intel. 7, 183–200 (2014). https://doi.org/10.1007/s12065-014-0114-6
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s12065-014-0114-6