Improving evolutionary exploration to area-time optimization of FPGA designs

This paper presents a new methodology based on evolutionary multi-objective optimization (EMO) to synthesize multiple complex modules on reprogrammable devices. It starts from a behavioral description written in a common high-level language (for instance C) to automatically produce the register-transfer level (RTL) design in a hardware description language (e.g. Verilog). Since all high-level synthesis problems (scheduling, resource allocation and binding) are notoriously NP-complete and interdependent, these problems should be considered simultaneously. This drives to a wide design space, that needs to be thoroughly explored to obtain solutions able to satisfy the design constraints (e.g. area and performance). Since evolutionary algorithms are good candidates to tackle such complex explorations, in this paper we provide a solution based on the non-dominated sorting genetic algorithm (NSGA-II) to explore the design space and obtain the best solutions in terms of performance given the area constraints of a target reprogrammable device, for instance a Field Programmable Gate Array (FPGA). To further reduce the time needed for the exploration, that theoretically requires the complete logic synthesis of each visited point, the evaluation of the solutions have been speed-up by using two techniques: a good cost estimation model and a technique to exploit fitness inheritance by substituting the expensive actual evaluations with estimations based on closeness in an hypothetical design space. We show on the JPEG case study that the proposed approach provides good results in terms of trade-off between total area occupied and execution time. The results shows also that the Pareto-optimal set obtained by applying the proposed fitness inheritance model well approximates the set obtained without the proposed technique and reduces the overall execution time up to the 25% in average.

[1]  Forrest Brewer,et al.  A new symbolic technique for control-dependent scheduling , 1996, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[2]  C. L. Liu,et al.  A scheduling algorithm for conditional resource sharing-a hierarchical reduction approach , 1994, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[3]  David E. Goldberg,et al.  Evaluation relaxation using substructural information and linear estimation , 2006, GECCO '06.

[4]  Christos A. Papachristou,et al.  A linear program driven scheduling and allocation method followed by an interconnect optimization algorithm , 1991, DAC '90.

[5]  William Fornaciari,et al.  An area estimation methodology for FPGA based designs at systemc-level , 2004, Proceedings. 41st Design Automation Conference, 2004..

[6]  Kalyanmoy Deb,et al.  Muiltiobjective Optimization Using Nondominated Sorting in Genetic Algorithms , 1994, Evolutionary Computation.

[7]  Gianluca Palermo,et al.  An Evolutionary Approach to Area-Time Optimization of FPGA designs , 2007, 2007 International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation.

[8]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[9]  Franz Rothlauf,et al.  Evaluation-Relaxation Schemes for Genetic and Evolutionary Algorithms , 2004 .

[10]  David E. Goldberg,et al.  Efficiency enhancement of genetic algorithms via building-block-wise fitness estimation , 2004, Proceedings of the 2004 Congress on Evolutionary Computation (IEEE Cat. No.04TH8753).

[11]  Xavier Llorà,et al.  Combating user fatigue in iGAs: partial ordering, support vector machines, and synthetic fitness , 2005, GECCO '05.

[12]  Marc Parizeau,et al.  Open BEAGLE: A New Versatile C++ Framework for Evolutionary Computation , 2002, GECCO Late Breaking Papers.

[13]  David E. Goldberg,et al.  The Design of Innovation: Lessons from and for Competent Genetic Algorithms , 2002 .

[14]  Jürgen Teich,et al.  An evolutionary approach to system-level synthesis , 1997, CODES.

[15]  Niraj K. Jha,et al.  Wavesched: a novel scheduling technique for control-flow intensive behavioral descriptions , 1997, 1997 Proceedings of IEEE International Conference on Computer Aided Design (ICCAD).

[16]  Kalyanmoy Deb,et al.  A fast and elitist multiobjective genetic algorithm: NSGA-II , 2002, IEEE Trans. Evol. Comput..

[17]  Youn-Long Lin,et al.  Recent developments in high-level synthesis , 1997, TODE.

[18]  J. Zhu,et al.  A unified formal model of ISA and FSMD , 1999, Proceedings of the Seventh International Workshop on Hardware/Software Codesign (CODES'99) (IEEE Cat. No.99TH8450).

[19]  Maurizio Palesi,et al.  Multi-objective design space exploration using genetic algorithms , 2002, Proceedings of the Tenth International Symposium on Hardware/Software Codesign. CODES 2002 (IEEE Cat. No.02TH8627).

[20]  Kalyanmoy Deb,et al.  A Fast Elitist Non-dominated Sorting Genetic Algorithm for Multi-objective Optimisation: NSGA-II , 2000, PPSN.

[21]  Yaochu Jin,et al.  A comprehensive survey of fitness approximation in evolutionary computation , 2005, Soft Comput..

[22]  Chittaranjan A. Mandal,et al.  Design space exploration for data path synthesis , 1997, Proceedings Tenth International Conference on VLSI Design.

[23]  Jianwen Zhu,et al.  A unified formal model of ISA and FSMD , 1999, CODES '99.

[24]  Leon Stok,et al.  Data path synthesis , 1994, Integr..

[25]  D. Goldberg,et al.  Don't evaluate, inherit , 2001 .

[26]  Yu-Chin Hsu,et al.  A formal approach to the scheduling problem in high level synthesis , 1991, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[27]  David E. Goldberg,et al.  Fitness Inheritance In Multi-objective Optimization , 2002, GECCO.

[28]  Minjoong Rim,et al.  Optimal allocation and binding in high-level synthesis , 1992, [1992] Proceedings 29th ACM/IEEE Design Automation Conference.

[29]  John J. Grefenstette,et al.  Genetic Search with Approximate Function Evaluation , 1985, ICGA.

[30]  Chittaranjan A. Mandal,et al.  GABIND: a GA approach to allocation and binding for the high-level synthesis of data paths , 2000, IEEE Trans. Very Large Scale Integr. Syst..

[31]  Gary William Grewal,et al.  An evolutionary approach to behavioural-level synthesis , 2003, The 2003 Congress on Evolutionary Computation, 2003. CEC '03..

[32]  Gianluca Palermo,et al.  Using speculative computation and parallelizing techniques to improve scheduling of control based designs , 2006, Asia and South Pacific Conference on Design Automation, 2006..

[33]  Luciano Lavagno,et al.  A BMC-based formulation for the scheduling problem of hardware systems , 2004, International Journal on Software Tools for Technology Transfer.

[34]  Martin Pelikan,et al.  Fitness Inheritance in the Bayesian Optimization Algorithm , 2004, GECCO.

[35]  Jason Cong,et al.  Register binding and port assignment for multiplexer optimization , 2004, ASP-DAC 2004: Asia and South Pacific Design Automation Conference 2004 (IEEE Cat. No.04EX753).

[36]  G. Harik Linkage Learning via Probabilistic Modeling in the ECGA , 1999 .

[37]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[38]  Milind Girkar,et al.  Automatic Extraction of Functional Parallelism from Ordinary Programs , 1992, IEEE Trans. Parallel Distributed Syst..

[39]  Robert E. Smith,et al.  Fitness inheritance in genetic algorithms , 1995, SAC '95.

[40]  Forrest Brewer,et al.  Automata-based symbolic scheduling , 2000 .

[41]  Aloysio Pedroza,et al.  Optimized datapath design by evolutionary computation , 2003, The 3rd IEEE International Workshop on System-on-Chip for Real-Time Applications, 2003. Proceedings..

[42]  Lothar Thiele,et al.  Comparison of Multiobjective Evolutionary Algorithms: Empirical Results , 2000, Evolutionary Computation.

[43]  J. -F. M. Barthelemy,et al.  Approximation concepts for optimum structural design — a review , 1993 .

[44]  Hai Zhou,et al.  Unified Incremental Physical-Level and High-Level Synthesis , 2007, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[45]  Petr Posík Estimation of Distribution Algorithms , 2006 .

[46]  Haidar M. Harmanani,et al.  An evolutionary approach for data path synthesis , 2000, 2000 Canadian Conference on Electrical and Computer Engineering. Conference Proceedings. Navigating to a New Era (Cat. No.00TH8492).

[47]  Lee Spector,et al.  GECCO-2001 : proceedings of the Genetic and Evolutionary Computation Conference : a joint meeting of the Sixth Annual Genetic Programming Conference (GP-2001) and the Tenth International Conference on Genetic Algorithms (ICGA-2001), July 7-11, 2001, San Francisco, California , 2001 .