论文部分内容阅读
快速傅立叶变换(FFT)作为数字信号处理领域的核心算法之一,在现代数字信号处理的各个领域有着极为广泛的应用。随着宽带OFDM系统,ADSL调制器,数字电视,雷达及声纳信号处理系统的应用发展,FFT处理器已经成为这些数字信号处理系统的关键模块之一,因此高性能专用FFT芯片的设计技术具有重要研究价值。
本文首先介绍了基二FFT算法原理并分析了FFT算法各级蝶形变换中数据及旋转因子进行蝶形运算的组合规律。本文接下来介绍了原位存取FFT算法流图及固定结构FFT算法流图的数据处理流程,分析比较了根据这两种FFT算法流图进行FFT处理器设计的不同结构特点。本文根据固定结构FFT算法流图的数据处理流程对FFT处理器进行了结构划分以及系统模块功能定义,并确定了本设计FFT处理器的组成结构以及工作方式。
本设计FFT处理器系统主要包含FFT运算控制器,数据存储器,地址生成单元,蝶形运算单元,I/O缓存以及I/O控制器等模块,这些模块分别用于FFT变换中间数据的暂存与读写,数据的蝶形运算处理以及系统各模块工作状态的控制。由于固定结构FFT算法每级蝶形变换数据输入输出位置不同,因此系统采用乒乓结构存储器分别用于每级蝶形变换蝶形运算单元数据的读写并通过一系列地址产生单元来生成数据的存取地址。蝶形运算单元包含多个加减法及乘法运算,因此可以采用流水线结构实现。此外,本设计采用两个蝶形运算单元并行处理数据以提高系统工作速度。系统通过FFT运算控制器及IO控制器来控制系统各模块的协同工作。
在完成系统结构划分及模块功能定义后,设计采用Verilog HDL对系统各模块进行编码设计并通过仿真工具ModelSim对系统各模块的Verilog代码进行功能仿真,并将本设计FFT处理器的Verilog代码的FFT运算处理结果与Matlab生成的运算结果进行对比验证。在证明系统功能正确后,设计对系统中部分关键模块的Verilog代码进行初步的逻辑综合,并对综合的网表文件进行后仿真及初步布局布线,从而确保设计中各模块Verilog代码具有可综合性并初步估计芯片的面积功耗,为系统各模块的进一步优化以及系统的后端设计打下良好基础。