A Multi-objective Genetic Algorithm for Design Space Exploration in High-Level Synthesis

This paper presents a methodology for design space exploration (DSE) in high-level synthesis (HLS), based on a multi-objective genetic algorithm. Since all high-level synthesis sub-tasks are notoriously NP-complete and interdependent and the design objectives are in conflict for nature, most of the already proposed approaches are not efficient in the exploration of this design space and not effective in the identification of different trade-offs. For these reasons, evolutionary algorithms can be considered as good candidates to tackle such difficult explorations. Therefore, we will compare our proposed approach, using different solution encoding, with a publicly available HLS framework and we will show that this approach is able to obtain better optimization results, with respect to the design objectives (latency and area have been considered for optimization), in most of situations and our proposed encoding better approaches the situations when multi-modal functional units (e.g. Arithmetic Logic Units) could be used in the final design solutions.

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

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

[3]  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).

[4]  Nikil D. Dutt,et al.  SPARK: a high-level synthesis framework for applying parallelizing compiler transformations , 2003, 16th International Conference on VLSI Design, 2003. Proceedings..

[5]  Pedro C. Diniz,et al.  A compiler approach to fast hardware design space exploration in FPGA-based systems , 2002, PLDI '02.

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

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

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

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

[10]  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).

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

[12]  Pierre G. Paulin,et al.  Force-Directed Scheduling in Automatic Data Path Synthesis , 1987, 24th ACM/IEEE Design Automation Conference.

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

[14]  Raul Camposano,et al.  Path-based scheduling for synthesis , 1991, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

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

[16]  Giovanni De Micheli,et al.  Synthesis and Optimization of Digital Circuits , 1994 .

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

[18]  Srinivas Katkoori,et al.  A genetic algorithm for the design space exploration of datapaths during high-level synthesis , 2006, IEEE Transactions on Evolutionary Computation.

[19]  Emmanuel Boutillon,et al.  Data-Flow Transformations using Taylor Expansion Diagrams , 2007, 2007 Design, Automation & Test in Europe Conference & Exhibition.