一种可参数化的FFT IP核设计和优化方法技术

技术编号:17940000 阅读:84 留言:0更新日期:2018-05-15 20:20
本发明专利技术属于数字信号处理领域,涉及一种可参数化的FFT IP核设计和优化方法。本发明专利技术采用流水线寄存技术,根据时序分析结果插入网表级寄存器,实现对时序性能的优化;同时利用三角函数特性,实现旋转因子存储面积的优化,在软件无线电、SoC设计等方面具有较高的应用价值。本发明专利技术的具体结构是:FFT控制逻辑模块、蝶形运算单元和缓存模块。控制逻辑实现蝶形运算单元和缓存模块的相连,用于控制数据的输入和输出,使数据以FIFO缓存方式缓存到缓存模块中,同时控制蝶形运算单元中完成FFT运算,蝶形单元用于FFT的蝶形运算,缓存模块实现数据的存储。本发明专利技术可以实现2

A parameterized design and optimization method for FFT IP core

The invention belongs to the field of digital signal processing, and relates to a parameterized FFT IP core design and optimization method. This invention adopts the pipeline storage technology, inserts the net table register according to the time sequence analysis result, realizes the optimization of the timing performance, and uses the trigonometric function to realize the optimization of the storage area of the rotation factor, and has high value in the software radio and the SoC design. The specific structure of the invention is: FFT control logic module, butterfly operation unit and cache module. The control logic realizes the connection between the butterfly operation unit and the cache module. It is used to control the input and output of the data. The data is cached in the FIFO cache to the cache module, and the FFT operation is completed in the butterfly operation unit. The butterfly unit is used for the butterfly operation of the FFT, and the cache module is used to store the data. The invention can realize 2

【技术实现步骤摘要】
一种可参数化的FFTIP核设计和优化方法
本专利技术涉及数字信号处理领域,特别是涉及一种可参数化的FFTIP核设计和优化方法。
技术介绍
快速傅里叶变换(FastFourierTransform,FFT)是数字信号处理中作为时域和频域相互转换的基本运算,在无线通信、语音识别、图像处理、频谱分析、雷达处理、遥感遥测等领域应用广泛,在不同应用之中对FFT的性能要求各有区别,很多领域对FFT处理要求做到高速度、高精度、大容量和实时性。针对不同算法和实现结构,FFT实现方法有很多,但按照其基本蝶形单元结构不同主要分为基2、基4、基22以及混合基等。不同基的结构(乘法器和加法器以及存储器资源)都不相同,其中基2的结构实现简单,基4的结构面积资源少,基22的结构同时具有基2蝶形单元结构的简单和乘法器需求较少等优点。按照FFT蝶形单元资源复用程度,一般可将FFT可分为迭代型、流水线型、并行型等。其中迭代型FFT结构通过复用蝶形单元减少了面积开销但时序控制较为复杂;流水线型结构可以实现数据输入的零等待;而并行型结构更是可以极大提高FFT电路处理数据的吞吐率,但所用的硬件开销也最大。许多研究者也提出了采用局部的优化结构来减少面积开销。软件无线电的思想比较灵活,能够轻松通过软件编程实现不同应用功能,不仅广泛地应用于军事和民事等无线通信领域,并且在电子战(数字信道化接收机的应用)、雷达通信、信息化家电等其它通信领域被大量使用,这将较大程度地推动软件无线电技术和相关产业的飞速发展。工业界中各大FPGA设计厂家一般都向用户提供可参数化设计的数字信号处理软核,但这种软核需要用户支付一定的费用,并且还不提供具体的实现源码,因此针对面向软件无线电应用的SoC,设计可参数化高性能的数字信号处理软核非常必要。
技术实现思路
本专利技术的目的是提供一种可参数化的FFTIP核设计和优化方法,本专利技术采用流水线寄存技术,对电路进行布局布线后的静态时序分析,采用流水线寄存技术实现对时序性能的优化,同时利用基22结构中三角函数奇偶对称性质,实现旋转因子存储面积的优化。在软件无线电、SoC设计等方面具有较高的应用价值。本专利技术的采用技术方案如下:一种可参数化的FFTIP核设计和优化方法,具体为:FFTIP核设计:包括控制逻辑模块、蝶形运算单元和缓存模块;控制逻辑模块实现蝶形运算单元和缓存模块的相连,用于控制数据的输入和输出,使数据以FIFO缓存方式缓存到缓存模块中,同时控制蝶形运算单元完成FFT运算;其中,蝶形运算单元的设计采用基22的算法结构,将点数为N的FFT转换为(log2N)/2对蝶形运算单元来实现,每对蝶形运算单元由BFI和BFII两个蝶形运算单元构成;分别在BFI和BFII两个蝶形运算单元后设计复数乘法器,用于将蝶形运算结果和预存储的旋转因子进行乘法操作;时序性能的优化:采用流水线寄存技术,通过对电路进行布局布线后的静态时序分析,发现关键路径的组合逻辑延迟,并根据时序分析结果,在BFI和BFII两个蝶形运算单元前后进行网表级的寄存器插入,实现对时序性能的优化;旋转因子的存储面积优化:利用基22的算法结构中三角函数奇偶对称性质对旋转因子的存储面积进行优化处理;乘法器优化:利用3个实数乘法器实现一个复数乘法器的优化结构,来降低实数乘法器的个数,减少整个FFT电路的面积。其中,乘法器优化具体为:定义两个复数分别为:A=a+bj和B=c+dj,两个复数相乘可表示为:Y=A×B=(ac-bd)+(ad+bc)j;为了减少实数乘法器的个数,对上式进行变换:定义S0=(a-b)d,S1=(c-d)a,S2=(c+d)b,则复数乘法结果为:Y=(S0+S1)+(S0+S2)j;因此,利用3个实数乘法器实现了一个复数乘法器的优化结构,降低了乘法器的个数,从而减小了整个FFT电路面积。其中,旋转因子的存储面积优化具体为:基22算法中的旋转因子的表达式为其中n=0,1,......,N/4-1,k1和k2的取值分别为0或1;由于因此旋转因子存储器只需存储和的值,由三角函数的奇偶对称性质,可得:其中,因此只存储n=0,1,…,N/8-1时的值,再利用上述对称性得到n=N/8,N/8+1,…,N/4-1时的值,降低了旋转因子的存储面积。与现有技术相比,本专利技术的有益效果为:1、利用流水线FFT结构,对电路进行布局布线后的静态时序分析,发现关键路径的组合逻辑延迟,并根据布局布线的时序分析结果进行网表级的寄存器插入,实现对时序性能的优化2、利用基22结构对三角函数奇偶对称性质对旋转因子的存储面积和乘法器数进行优化处理,从而降低整个FFT电路的面积。3、采用基22的算法结构进行实现,能够将点数为N的FFT转换为(log2N)/2对蝶形单元来实现,支持用户需要的2N点数的FFT功能。基22的结构同时具有基2蝶形单元结构简单和基4结构的乘法器用量较少的综合优点。附图说明图1是本专利技术可参数化FFTIP核的基本结构示意图;图2是本专利技术基22算法的N点FFT的分解结构示意图;图3是本专利技术蝶形运算单元的BFI结构示意图;图4是本专利技术蝶形运算单元的BFII结构示意图;图5是本专利技术插入流水线寄存器后的FFT电路结构示意图。具体实施方式如图1所示,本专利技术采用基22算法来实现可参数化FFT的IP核设计,主要包含FFT的控制逻辑模块、蝶形运算单元和缓存模块。控制逻辑模块实现蝶形运算单元和缓存模块的相连,用于控制数据的输入和输出,使数据以FIFO缓存方式缓存到缓存模块中,同时控制蝶形运算单元中完成FFT运算。蝶形运算单元用于FFT的蝶形运算,缓存模块实现数据的存储。以下为基22算法来实现FFT的公式推导,N点的DFT定义公式为:令则:由此可得:其中,由此得出,N点的基22的FFT算法就是将N点的FFT转换成4个N/4点的FFT进行实现。如图2所示,在进行完BFI和BFII的蝶形运算后,将结果和旋转因子进行乘法操作,按照这种方法对N点FFT进行分解,直到所有运算完成。需要注意的是,最后得到输出结果的顺序为反序,如果要得到正序的结果,就需要将输出结果通过倒序操作进行转换。根据公式H(k1,k2,k3)实现过程,可以得到蝶形运算单元的实现结构,图3为BFI的结构图,图4为BFII的结构图。BFI的输入xr和xi来自旋转因子乘法器输出结果,BFI的输出信号Zr和Zi输出到本级的BFII;同理,BFII的输入来自本级BFI,输出Z信号给后续模块,一般是旋转因子乘法器。其中图4中的交换单元通过简单的实部虚部交换实现了(-j)的乘法运算,可以减少乘法器的使用数量。本专利技术通过对设计进行布局布线后的静态时序分析,发现关键路径的位置存在于蝶形单元部分的组合逻辑延迟。考虑到乘法器部分的组合逻辑延迟较大,对不插入流水线寄存器,在蝶形单元后插入流水线寄存器以及在蝶形单元和乘法器后面都插入寄存器三种方案进行实验。由于采用的是流水线型FFT结构,因此FFT点数的变化对关键路径延时影响较小,试验中选取16点反序输出的FFT电路进行实验,如图5所示,cnt为FFT运算的控制逻辑模块,分别控制各个FFT级数的每一级运算,在FFT电路的每一级蝶形运算单元前后和乘法器后面都加入流水线寄存器大大减少了电路的关键路径长度,其具体各个电路上本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/55/201810092915.html" title="一种可参数化的FFT IP核设计和优化方法原文来自X技术">可参数化的FFT IP核设计和优化方法</a>

【技术保护点】
一种可参数化的FFT IP核设计和优化方法,其特征在于,具体为:FFT IP核设计:包括控制逻辑模块、蝶形运算单元和缓存模块;控制逻辑模块实现蝶形运算单元和缓存模块的相连,用于控制数据的输入和输出,使数据以FIFO缓存方式缓存到缓存模块中,同时控制蝶形运算单元完成FFT运算;其中,蝶形运算单元的设计采用基2

【技术特征摘要】
1.一种可参数化的FFTIP核设计和优化方法,其特征在于,具体为:FFTIP核设计:包括控制逻辑模块、蝶形运算单元和缓存模块;控制逻辑模块实现蝶形运算单元和缓存模块的相连,用于控制数据的输入和输出,使数据以FIFO缓存方式缓存到缓存模块中,同时控制蝶形运算单元完成FFT运算;其中,蝶形运算单元的设计采用基22的算法结构,将点数为N的FFT转换为(log2N)/2对蝶形运算单元,每对蝶形运算单元由BFI和BFII两个蝶形运算单元构成;在BFI和BFII两个蝶形运算单元后设计复数乘法器,用于将蝶形运算结果和预存储的旋转因子进行乘法操作;时序性能的优化:采用流水线寄存技术,通过对电路进行布局布线后的静态时序分析,发现关键路径的组合逻辑延迟,并根据时序分析结果,分别在BFI和BFII两个蝶形运算单元前后进行网表级的寄存器插入,实现对时序性能的优化;旋转因子的存储面积优化:利用基22的算法结构中三角函数奇偶对称性质对旋转因子的存储面积进行优化处理;乘法器优化:利用3个实数乘法器实现一个复数乘法器的优化结构,来降低实数乘法器的个数,减少整个FFT电路的面积。2.根据权利要求1所述的一种可参数化的FFTIP核设计和优化方法,其特征在于,乘法器优化具体为:定义两个复数分别为:A=a+bj和B=c+dj,两个复数相乘可表示为:Y=A×B=(ac-bd)+(ad+bc)j;为了减少实数乘法器的个数,对上式进行变换:定义S0=(a-b)d,S1=(c-d)a,S2=(c+d)b,则复数乘法结果为:Y=(S0+S1)+(S0+S2)j;因...

【专利技术属性】
技术研发人员:郝亚男刘长龙许仕龙杜克明王明张晓峰武唯康魏恒
申请(专利权)人:中国电子科技集团公司第五十四研究所
类型:发明
国别省市:河北,13

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1