摘要
摘要:大规模可编程逻辑器件是近年来为适应专用集成电路设计需求而迅速发展起来的一类新型可编程ASIC器件。随着它的不断应用和发展,也使电子设计的规模和集成度不断提高。同时,带来了电子系统设计方法和设计思想的不断推陈出新。
本设计使用能够满足较高速度要求的FPGA(现场可编程门阵列)来实现一个在数字信号分析和处理领域重要的变换工具-FFT。FFT的算法是基2时域8点的FFT。通过C语言的的浮点以及定点的程序模拟,最终通过verilog HDL在Xilinx ISE 5.1i环境下进行编程和仿真。
关键词: FFT verilog HDL FPGA 定点 浮点
目 录
绪 论 5
0.1电子设计自动化与现场可编程门阵列 5
0.2可编程逻辑器件的发展 5
0.3关于数字信号处理 6
0.4本课题的目的和意义 6
0.5本课题的设计步骤 6
第一章 FFT的引入 8
1.1 DFT的简介 8
1.2传统快速傅里叶变换算法的发展 8
1.3设计涉及的FFT—基-2时分的8点FFT 9
第二章 FFT的浮点C语言实现 12
2.1蝶形运算单元设计 12
2.2输入序列的比特逆序重排 14
2.3程序执行结果和分析 16
2.4使用基-2时分算法的理由 17
第三章 FFT的 c语言定点程序设计 18
3.1 C语言程序浮点转定点的基本思想 18
3.2转换中的关键步骤 19
3.3误差分析 20
第四章 FFT的Verilog HDL程序设计 22
4.1 Verilog的发展趋势和特点 22
4.2 Verilog HDL 语言的介绍 22
4.2.1模块(Module)概念 22
4.2.2基本数据类型 23
4.2.3基本操作数与表达式 24
4.2.4数据流描述方式 25
4.2.5行为描述方式 25
4.3 8点FFT的Verilog HDL实现 26
4.3.1分析 26
4.3.2设计 26
4.3.3设计心得及总结 26
第五章 设计的硬件平台FPGA 28
5.1关于可编程ASIC 28
5.2 FPGA 28
5.3设计选择FPGA的理由 30
5.4电路仿真和综合 30
第六章 结束语 32
6.1设计回顾 32
6.2设计展望 32
参考文献 33
致 谢 34
附 录 35
附录一:十六点基-2时分FFT算法的浮点C语言实现源程序 35
附录二:十六点基-2时分FFT算法的定点C语言实现源程序 38
附录三:十六点基-2时分FFT算法的浮点Verilog HDL源程序 41