| 【中文题名】 | 基于FPGA的遗传算法实现技术研究 |
| 【英文题名】 | Research on the Realization Technology of Genetic Algorithms Based on FPGA |
| 【学科专业】 | 测试计量技术及仪器 |
| 【论文级别】 | 硕士论文 |
| 【投稿时间】 | 2006-9-5 |
| 【中关键词】 | 遗传算法,现场可编辑门阵列,并行,硬件描述语言,实时, |
| 【英关键词】 | Genetic Algorithms,FPGA,Parallel,VHDL,Real-time, |
| 【分类导航】 | 工业技术>自动化技术、计算机技术>自动化基础理论>人工智能理论>> |
| 【论文摘要】 |
迄今为止,对遗传算法的研究主要以软件实现为主,在速度上往往受到本质是串行计算的计算机的制约,使其在实时性要求高的场合的应用受到了限制。因此,采用硬件化设计具有重要的意义。
本文首先对遗传算法三个基本算子的机理及其运行过程进行深入分析,依据硬件实现的特点,确定了合适的选择算子、交叉算子和变异算子,并且确定了遗传算法的运行参数。然后依据算法要求以及现场可编辑门阵列(FPGA)的特点进行模块划分与电路结构设计,具体包括初始化群体、适应度计算、选择、交叉、变异、群体存储等功能模块。接着详细分析了各模块的功能、端口连接、内部结构等,并利用硬件描述语言编写源代码实现各模块功能,经过功能仿真、综合、布局布线、时序仿真、下载等一系列步骤,最终在Xilinx的Spartan 3系列XC3S400-4PQ208芯片上实现。整个设计流程在Xilinx的ISE 6.2集成环境下完成。利用具体的测试函数检验算法性能,与软件实现作比较,其测试结果显示:设计实现了遗传算法的基本功能,对于设计使用的芯片,耗费了较少的硬件资源,其运行速度比软件实现有了很大的提高,较好地解决了FPGA设计中速度与面积相互制约的问题,为遗传算法... |
| 【论文题纲】 |
|
第一章 绪论 |
13-17 |
|
1.1 遗传算法概述 |
13-15 |
|
1.2 遗传算法的应用情况 |
15 |
|
1.3 研究背景及意义 |
15-16 |
|
1.4 主要研究内容与目标 |
16-17 |
|
第二章 遗传算法简介 |
17-25 |
|
2.1 遗传算法的生物学基础 |
17-19 |
|
2.1.1 遗传与变异 |
17-18 |
|
2.1.2 遗传算法模拟的生物进化模型 |
18-19 |
|
2.1.3 遗传学和遗传算法中的基础用语 |
19 |
|
2.2 遗传算法的基本操作及流程 |
19-25 |
|
2.2.1 遗传算法的基本操作 |
19-22 |
|
2.2.2 遗传算法的运行参数 |
22-24 |
|
2.2.3 遗传算法的流程 |
24-25 |
|
第三章 现场可编辑门阵列及其开发环境 |
25-31 |
|
3.1 现场可编辑门阵列(FPGA)概述 |
25-26 |
|
3.2 硬件描述语言VHDL |
26-27 |
|
3.3 开发流程及硬件开发环境 |
27-31 |
|
3.3.1 整体设计流程介绍 |
27-29 |
|
3.3.2 硬件开发环境介绍 |
29-31 |
|
第四章 遗传算法的硬件化模块设计 |
31-51 |
|
4.1 硬件系统的模块划分及结构设计 |
32-33 |
|
4.2 遗传操作及运行参数的选择 |
33-34 |
|
4.2.1 遗传操作算子方式的选择 |
33-34 |
|
4.2.2 遗传算法运行参数的选择 |
34 |
|
4.3 各模块功能设计与实现 |
34-51 |
|
4.3.1 控制模块的设计 |
34-37 |
|
4.3.2 存储器模块的设计 |
37-41 |
|
4.3.3 随机数模块的设计 |
41-44 |
|
4.3.4 初始化模块的设计 |
44 |
|
4.3.5 多路数据选择器Mux 的设计 |
44-45 |
|
4.3.6 选择模块的设计 |
45-47 |
|
4.3.7 交叉变异模块的设计 |
47-48 |
|
4.3.8 适应度模块的设计 |
48-50 |
|
4.3.9 顶层模块的设计 |
50-51 |
|
第五章 仿真分析及硬件实现 |
51-68 |
|
5.1 各模块的功能仿真 |
51-62 |
|
5.1.1 随机数模块的仿真 |
52-53 |
|
5.1.2 初始化模块的仿真 |
53-54 |
|
5.1.3 适应度模块的仿真 |
54-55 |
|
5.1.4 选择模块的仿真 |
55-57 |
|
5.1.5 交叉变异模块的仿真 |
57-58 |
|
5.1.6 控制模块的仿真 |
58-60 |
|
5.1.7 存储器模块的仿真 |
60-61 |
|
5.1.8 顶层模块的仿真 |
61-62 |
|
5.2 综合 |
62-64 |
|
5.3 布局布线与下载实现 |
64-68 |
|
第六章 工作总结与展望 |
68-72 |
|
6.1 全文工作总结 |
68-69 |
|
6.2 遗传算法的并行化展望 |
69-72 |
|
6.2.1 硬件并行化的遗传算法 |
69-70 |
|
6.2.2 算法并行化的遗传算法 |
70-72 |
|
参考文献 |
72-75 |
|
致谢 |
75-76 |
|
在学期间的研究成果及发表的学术论文 |
76-77 |
|
附录一 控制模块的源程序与RTL 级电路图 |
77-83 |
|
附录二 随机数模块的源程序与RTL 级电路图 |
83-86 |
|
附录三 初始化模块的源程序与RTL 级电路图 |
86-89 |
|
附录四 Mux 模块的源程序与RTL 级电路图 |
89-91 |
|
附录五 选择模块的源程序与RTL 级电路图 |
91-95 |
|
附录六 交叉变异模块的源程序与RTL 级电路图 |
95-97 |
|
| 【DOI】 | LunWen.ID:2.2008.387903 |