文件名称:如何使用FPGA和CPLD实现FFT算法与仿真分析
文件大小:304KB
文件格式:PDF
更新时间:2024-07-26 23:05:55
FPGACPLDFFT
可编程逻辑器件rPGA(现场可编程门阵列)和CPLD(复杂可编程逻辑器件)越来越多的应用于数字信号处理领域,与传统的ASIC(专用集成电路和DSP数字信号处理器)相比,基于FPGA和CPLD实现的数字信号处理系统具有更高的实时性和可嵌入性,能够方便地实现系统的集成与功能扩展。FFT的硬件结构主要包括蝶形处理器、存储单元、地址生成单元与控制单元。本文提出的算法在蝶形处理器内引入流水线结构,提高了FFT的运算速度。同时,流水线寄存器能够寄存蝶形运算中的公共项,这样在设计蝶形处理器时只用到了一个乘法器和两个加法器,降低了硬件电路的复杂度。为了进一步提高FFT的运算速度,本文在深入研究各种乘法器算法的基础上,为蝶形处理器设计了一个并行乘法器。在实现该乘法器时,本文采用改进的布斯算法,用以减少部分积的个数。同时,使用华莱士树结构和4-2压缩器对部分积并行相加。本文以32点复数FFT为例进行设计与逻辑综合。通过设计相应的存储单元,地址生成单元和控制单元完成FFT电路。电路的仿真结果与软件计算结果相符,证明了本文所提出的算法的正确性。另外,本文还对设计结果提出了进一步的改进方案,在乘法器内加入级流水线寄存器,使FFT的速度能够提高到当前速度的两倍,这在实时性要求较高的场合具有极高的实用价值。