HGA
- 15 February 1995
- proceedings article
- Published by Association for Computing Machinery (ACM)
Abstract
A genetic algorithm (GA) is a robust problem-solving method based on natural selection. Hardware's speed advantage and its ability to parallelize offer great rewards to genetic algorithms. Speedups of 1-3 orders of magnitude have been observed when frequently used software routines were implemented in hardware by way of reprogrammable field-programmable gate arrays (FPGAs). Reprogrammability is essential in a general-purpose GA engine because certain GA modules require changeability (e.g. the function to be optimized by the GA). Thus a hardware-based GA is both feasible and desirable. A fully functional hardware-based genetic algorithm (the HGA) is presented here as a proof-of-concept system. It was designed using VHDL to allow for easy scalability. It is designed to act as a coprocessor with the CPU of a PC. The user programs the FPGAs which implement the function to be optimized. Other GA parameters may also be specified by the user. Simulation results and performance analyses of the HGA are presented. A prototype HGA is described and compared to a similar GA implemented in software. In the simple tests, the prototype took about 6% as many clock cycles to run as the software-based GA. Further suggested improvements could realistically make the HGA 2–3 orders of magnitude faster than the software-based GA.Keywords
This publication has 6 references indexed in Scilit:
- Virtual computing and the Virtual ComputerPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- The Nano Processor: a low resource reconfigurable processorPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Density enhancement of a neural network using FPGAs and run-time reconfigurationPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Programming pipelined CAD applications on message‐passing architecturesConcurrency: Practice and Experience, 1995
- Processor reconfiguration through instruction-set metamorphosisComputer, 1993
- Building and using a highly parallel programmable logic arrayComputer, 1991