论文部分内容阅读
本文设计了一种基于改进CORDIC算法的FFT处理器,该FFT处理器采用基于存储器的迭代结构,用CORDIC算法实现FFT运算中的复数乘法运算;FFT算法方面,采用按频域抽取的基4算法,但是流水线结构实现时复数加法器的有效利用率不高,本文对其进行改进,采用硬件复用的方法予以实现,通过一个四状态的状态机控制和调度复数加法器和复数减法器,减少了硬件开销。在CORDIC乘法器设计中,当旋转角度所在象限区间不同时旋转方向有时为顺时针有时为逆时针方向,导致旋转单元用到加减器,消耗了大量的硬件资源。本文对CORDIC算法进行了改进,根据旋转角度所在象限区间不同,提前交换x、y路数据,旋转方向始终为单一方向,旋转单元只用到加法器和减法器,减少了旋转单元的硬件开销。本文采用改进后的CORDIC算法设计了一个1024点的定点格式的FFT处理器,并编写测试平台对电路进行了仿真验证,modelsim仿真波形验证了该电路功能和时序的正确性,将modelsim仿真输出与matlab自带fft函数输出结果进行比较,进一步得到了FPGA的验证。在Altera cycloneII EP2C5F256C6器件上不加任何约束条件下进行综合,整个FFT电路消耗2857个LE,最高运行频率为99.48MHz。采用DesignCompiler在中芯国际(SMIC)的180nm工艺下进行逻辑综合,最高运行频率为149MHz,面积为1.502mm~2,动态功耗为34.77mw、漏电功耗为18.8μw。