FPGA-based Genetic Algorithms (GAs) have been effective for optimisation of many real-world applications, but require extensive customisation of the hardware GA architecture. To promote these accelerated GAs to potential users without hardware design experience, this paper proposes an automated framework for creating and executing general-purpose GAs in FPGAs. The framework contains a scalable and customisable hardware architecture, which provides a unified platform for both binary and real-valued chromosomes. At compile-time, a user only needs to provide a high-level specification of the target application, without writing any hardware-specific code in low-level languages such as VHDL or Verilog. At run-time, a user can tune application inputs and GA parameters without time-consuming recompilation, in order to find a good configuration for further GA executions. The framework is demonstrated on a high performance FPGA platform to solve six problems and benchmarks, including a locating problem and the NP-haxd set covering problem. Experiments show our custom GA is more flexible and easier to use compared to existing FPGA-based GAs, and achieves an average speed-up of 30 times compared to a multi-core CPU.
展开▼