论文部分内容阅读
随着科学技术的发展,遗传算法(Genetic Algorithms, GAs)在许多领域得到了越来越广泛的应用。然而,目前人们对遗传算法的研究主要以软件实现为主,在速度上受到本质是串行计算的计算机系统的制约,使其在实时性要求高的场合的应用受到了限制。基于此,本文设计了一种遗传算法在FPGA(Field Programmable Gate Array,现场可编程门阵列)上流水线实现的方法,从硬件实现的角度提高遗传算法的运行速度。本文的主要工作有:1.详细论述了遗传算法的基本原理和操作流程,对遗传算法的特点进行了分析和研究,并着重介绍了遗传算法的三个基本算子:选择、交叉和变异算子。2.深入探讨了FPGA的设计方法和特点。在此基础上,根据遗传算法自身的结构特点,对遗传算法进行了模块的划分,并确定了遗传算法的运行参数、工作流程和控制时序。3.主要的创新点是对遗传算法的遗传操作部分进行了完全流水线设计优化,将其划分为选择、交叉、变异和适应度计算4级流水单元。每一级流水单元的数据处理时间都为一个时钟周期。这样通过所有流水单元的同时工作,大大减少了系统运行所需要的时钟周期数。4.对遗传算法内部各子模块的功能、端口连接、内部结构等进行了详细说明,并使用硬件描述语言Verilog HDL对各子模块进行了实现。5.在QuartusⅡ环境下对系统的各模块进行了功能仿真,验证了系统设计的正确性,并最终在ALtera公司cyclone系列EP1C6Q240C8芯片上对系统进行了下载实现。实现后的测试表明:基于FPGA的遗传算法能够实现在较高时钟频率下的稳定运行,与由软件实现的遗传算法相比较,运行速度提高了约三个数量级。同时,设计方案在资源利用率和速度方面也达到了较好的平衡,达到了预期的设计目的。