洪钦智,王志君,郭一凡,梁利平
(1.中国科学院微电子研究所,北京 100029;2.中国科学院大学 集成电路学院,北京 100049;3.北京邮电大学 集成电路学院,北京 100876)
快速傅里叶变换(Fast Fourier Transform,FFT)是一种用来实现时域到频域转换的计算方法,被广泛应用于各种通信系统中。当前许多基于正交频分复用技术(Orthogonal Frequency Division Multiplexing,OFDM)的通信系统,如4G LTE(Long Term Evolution)/LTE-A[1]、无线本地局域网(Wireless Local Area Network,WLAN)[2],以及正在推广的5G NR(New Radio)系统[3],都使用了FFT技术。随着无线通信标准的演进,通信系统对FFT技术的要求也越来越高[4-5]。未来的高质量多模通信系统[6-8]要求FFT处理器适配多种点数模式的FFT处理和离散傅里叶变换(Discrete Fourier Transform,DFT)处理,并且能够达到极高的吞吐率和处理效率。
传统的FFT处理器主要包括流水线型和存储器型两种实现结构,流水线型结构较难同时满足高吞吐率和较多点数模式的支持[9],而面向多模通信应用的FFT处理器主要采用存储器型结构[10-13]。文献[11]采用素因子算法实现了128~2 048点FFT处理和12~1 296点DFT处理。文献[12]提出了一种针对任意点数的无冲突地址策略,并通过高基底的方式来减少运算周期。文献[13]通过设计高效的并行运算部件及改进数据并行访问策略等方法有效地支持了多点数处理(54种模式)和较高的1R(基1归一化)吞吐率。但是这些设计依然存在不同模式下吞吐率不均衡、绝对吞吐率较低等问题。
面向以4G/5G为代表的高性能多模通信应用,笔者通过有效的优化设计实现了一种支持60种点数模式的高性能FFT处理器。设计了一种基于WFTA(Winograd Fourier Transform Algorithm)算法的深度流水蝶形运算单元,支持1个基9/ 2个基8/ 3个基5/ 4个基4/ 5个基3的高吞吐率蝶形运算;……