CN1983246A - 一种变换地址原址返回的级间流水fft处理模块 - Google Patents

一种变换地址原址返回的级间流水fft处理模块 Download PDF

Info

Publication number
CN1983246A
CN1983246A CN 200510111493 CN200510111493A CN1983246A CN 1983246 A CN1983246 A CN 1983246A CN 200510111493 CN200510111493 CN 200510111493 CN 200510111493 A CN200510111493 A CN 200510111493A CN 1983246 A CN1983246 A CN 1983246A
Authority
CN
China
Prior art keywords
data
module
input
dpram
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN 200510111493
Other languages
English (en)
Inventor
任前义
梁继业
刘会杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Engineering Center for Microsatellites
Original Assignee
Shanghai Engineering Center for Microsatellites
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Engineering Center for Microsatellites filed Critical Shanghai Engineering Center for Microsatellites
Priority to CN 200510111493 priority Critical patent/CN1983246A/zh
Publication of CN1983246A publication Critical patent/CN1983246A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Complex Calculations (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

一种变换地址原址返回的级间流水FFT处理模块,包括输入RAM模块、输入选择器、数据缓存模块、基4运算单元模块、输出选择器、输出RAM模块,输入、输出以及数据缓存模块3都采用4路并行的DPRAM,每一路DPRAM分别表示基4蝶形运算单元模块4中的A,B,C,D四路数据,其它模块中都不包含存储器资源。数据地址产生器和蝶形因子地址产生器分别与数据缓存模块和基4运算单元模块连接,其还包括一DPRAM连接输入选择器和输出选择器的数据转换模块,本发明通过巧妙有规律地改变每级运算数据的读取地址,运算结果原址返回,使得不包括输入输出就只占用一个存贮单元。这样在进行高速FFT运算的同时,大幅度的减少设计占用的硬件资源,以较少的资源达到接近级联流水的处理速度。

Description

一种变换地址原址返回的级间流水FFT处理模块
技术领域
本发明涉及一种时频变换基本工具FFT处理模块,特别是一种FPGA模块中,能够通过变换地址原址返回的级间流水方法,进行高速实时FFT处理的FFT处理模块。
背景技术
在FPGA实现FFT方式中:有级联流水方法和原址返回运算方法。级联流水方法能达到较快的处理速度,但是由于级联流水每一级都至少需要一个存贮单元和一个运算单元,所以占用了大量硬件资源,逻辑控制复杂。ALTERA公司的FFT.V.2.1IPCORE虽然可以达到237.93MHz的处理速度,但是也占用了大量的硬件资源:registers:4504;ALUTS:5149;memory:149.5K。原址返回运算方法,每一级运算使用唯一的存贮和运算单元,每级运算后需要重新的排序,以牺牲处理速度来节约硬件资源。
发明内容
本发明的目的在于为了克服现有的FFT处理模块硬件资源与处理速度之间的矛盾,而提供一种变换地址原址返回的级间流水FFT处理模块,该模块不仅能高速实时进行FFT处理,而且能有效的节约硬件资源。
本发明的目的可以通过以下技术方案来实现:
一种变换地址原址返回的级间流水FFT处理模块,包括输入RAM模块、输入选择器、数据缓存模块、基4运算单元模块、输出选择器、输出RAM模块以及数据地址产生器和蝶形因子地址产生器,输入RAM模块、输入选择器、数据缓存模块、基4运算单元模块、输出选择器依次并行的四路并行的DPRAM连接,输出选择器与输出RAM模块之间通过两路并行的DPRAM连接,数据地址产生器和蝶形因子地址产生器分别与数据缓存模块和基4运算单元模块连接,其特征在于:还包括一数据转换模块,所述数据转换模块通过一路DPRAM连接输入选择器和输出选择器。
本发明的每一路DPRAM分别表示基4运算单元模块中的A,B,C,D四路数据,但数据为复数时,每一路都包括两个DPRAM,分别存储数据的实部和虚部,实部和虚部使用相同的地址。
本发明所述输入选择器用于将输入的DPRAM中的一路与所述数据转换模块输入的两路数据选择一路输出到数据缓存模块中,所述输出选择器根据运算的级数来判断将计算结果直接输出还是环回到数据缓存中。
本发明所述的基4运算单元模块从数据缓存模块中混序读入数据,运算完后将结果做行列变换并且存储到原来的地址中;在混序读入数据的同时,从蝶形因子地址产生器混序读入蝶形因子并将输入数据和蝶形因子匹配。
本发明所述数据转换模块通过寄存器做行读列写来实现数据转换。
由于采用了上述技术方案,本发明通过巧妙有规律地改变每级运算数据的读取地址,运算结果原址返回,使得不包括输入输出就只占用一个存贮单元。数据运算单元就可以不间断的进行数据运算,从而能只用一个运算单元和一个存贮单元达到pipeline的运算速度。这样在进行高速FFT运算的同时,大幅度的减少设计占用的硬件资源,以较少的资源达到接近级联流水的处理速度。
附图说明
下面结合附图和具体实施方式来进一步说明本发明。
图1为本发明FFT处理模块的总体框架结构图。
图2为本发明数据转换模块进行数据行列转换示意图。
图3为本发明FFT模块的端口定义图。
具体实施方式
参见图1,一种变换地址原址返回的级间流水FFT处理模块,包括输入RAM模块1、输入选择器2、数据缓存模块3、基4运算单元模块4、输出选择器5、输出RAM模块6、数据转换模块7以及数据地址产生器8和蝶形因子地址产生器9,输入RAM模块1、输入选择器2、数据缓存模块3、基4运算单元模块4、输出选择器5依次并行的四路并行的DPRAM连接,输出选择器5与输出RAM模块6之间通过两路并行的DPRAM连接,数据地址产生器8和蝶形因子地址产生器9分别与数据缓存模块3和基4运算单元模块4连接,数据转换模块7通过一路DPRAM连接输入选择器2和输出选择器5。
从图中可以看出,输入、输出以及数据缓存模块3都采用4路并行的DPRAM,每一路DPRAM分别表示基4蝶形运算单元模块4中的A,B,C,D四路数据,其它模块中都不包含存储器资源。
当数据为复数时,每路都包括两个DPRAM,分别存储数据的实部和虚部,实部和虚部使用相同的地址。输入选择器2用于将输入的DPRAM中的一路与数据转换模块7输入的两路数据选择一路输出到数据缓存模块3中,输出选择器5根据运算的级数来判断将计算结果直接输出还是环回到数据缓存中。
为了方便下一级运算能够流水不间断的进行蝶形运算,需要在当前运算时,基4运算单元模块4从数据缓存模块3中混序读入数据,运算完后将结果做行列变换并且存储到原来的地址中,这样就可以做到在级与级运算间连续不间断的从数据缓存中取出数据进行蝶形运算。混序读入数据的同时,对蝶形因子地址产生器9产生的蝶形因子也要混序读入,这样每次进行蝶形运算的时候,输入数据就和蝶形因子匹配。
数据转换模块7通过寄存器做行读列写来实现数据转换。这样在每一级基4运算中,将计算完的结果以行列变换的方式存回原址中,配合每一级运算的混序读取使得每一级基4蝶形运算能够流水不间断的进行。相对pipeline结构而言,通过行列变换减少了pipeline结构中每一级重新排序所花费的大量时间。系统中设计的运算单元需要5个时钟周期,
参看图2,当A1,B1,C1,D1运算完成时,A2,B2,C2,D2,A3,B3,C3,D3,A4,B4,C4,D4代表的存贮单元中数据已经取出,并且正在进行基4运算,这样运算后的A1,B1,C1,D1就可以存入A1,A2,A3,A4对应的存贮单元中,在下一个时钟周期,运算后的A2,B2,C2,D2存入B1,B2,B3,B4对应的存贮单元中。
通过行读列写的数据转换,配合每一级的地址读取顺序,数据运算单元就可以不间断的进行数据运算,从而能只用一个运算单元和一个存贮单元达到pipeline的运算速度。
参看图3,本发明的FFT处理模块左侧为输入信号,clk:模块的输入时钟信号,上限是FFT模块的最高工作频率。wren:输入使能信号,表示输入数据开始有效。Wren信号使能以后,连续的输入N个数据,然后wren置0,这样数据间隔的进入处理模块。通过外部的时序处理来完成数据连续实时的处理。inaddr:输入数据的地址。indata:输入的数据。右侧为输出信号,outen输出使能信号,为高时数据有效。outdata_r和outdata_i:FFT变换结果的实部和虚部。这样该模块作为软件包可以方便灵活的应用。综合得到1024点的FFT程序最高工作频率在135.34MHz,处理速度可以满足我们系统的要求。用100MHz的时钟仿真来看,处理时间为(23.83-10.24)us即13.59us,即每一复数点经过FFT处理器的吞吐时间为13.2ns。同时大大减少了完成FFT处理所需要的硬件资源:减少的RAM资源为[2(logrN+1)-3]即9个大小为2×1024×16bits的存储器;减少了4个基4运算单元,折合为4×12个16×12位的硬件乘法器。与ALTERA的IPCORE相比,占用的硬件资源为:registers:1266;ALUTS:1519;memory:96.4K,可见在同样满足高速实时处理的前提下,大量减少占用的硬件资源。
当然,对于本领域的一般技术人员,不花费创造性的劳动,在上述实施例的基础上能够作多种变化,同样能够实现本发明的目的。但是,上述各种变化显然应该在本发明的权利要求书的保护范围内。

Claims (5)

1、一种变换地址原址返回的级间流水FFT处理模块,包括输入RAM模块、输入选择器、数据缓存模块、基4运算单元模块、输出选择器、输出RAM模块以及数据地址产生器和蝶形因子地址产生器,输入RAM模块、输入选择器、数据缓存模块、基4运算单元模块、输出选择器依次并行的四路并行的DPRAM连接,输出选择器与输出RAM模块之间通过两路并行的DPRAM连接,数据地址产生器和蝶形因子地址产生器分别与数据缓存模块和基4运算单元模块连接,其特征在于:还包括一数据转换模块,所述数据转换模块通过一路DPRAM连接输入选择器和输出选择器。
2、如权利要求1所述的FFT处理模块,其特征在于:每一路DPRAM分别表示基4运算单元模块中的A,B,C,D四路数据,但数据为复数时,每一路都包括两个DPRAM,分别存储数据的实部和虚部,实部和虚部使用相同的地址。
3、如权利要求1所述的FFT处理模块,其特征在于:所述输入选择器用于将输入的DPRAM中的一路与所述数据转换模块输入的两路数据选择一路输出到数据缓存模块中,所述输出选择器根据运算的级数来判断将计算结果直接输出还是环回到数据缓存中。
4、如权利要求1所述的FFT处理模块,其特征在于:所述的基4运算单元模块从数据缓存模块中混序读入数据,运算完后将结果做行列变换并且存储到原来的地址中;在混序读入数据的同时,从蝶形因子地址产生器混序读入蝶形因子并将输入数据和蝶形因子匹配。
5、如权利要求1所述的FFT处理模块,其特征在于:所述数据转换模块通过寄存器做行读列写来实现数据转换。
CN 200510111493 2005-12-14 2005-12-14 一种变换地址原址返回的级间流水fft处理模块 Pending CN1983246A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200510111493 CN1983246A (zh) 2005-12-14 2005-12-14 一种变换地址原址返回的级间流水fft处理模块

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200510111493 CN1983246A (zh) 2005-12-14 2005-12-14 一种变换地址原址返回的级间流水fft处理模块

Publications (1)

Publication Number Publication Date
CN1983246A true CN1983246A (zh) 2007-06-20

Family

ID=38165787

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200510111493 Pending CN1983246A (zh) 2005-12-14 2005-12-14 一种变换地址原址返回的级间流水fft处理模块

Country Status (1)

Country Link
CN (1) CN1983246A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101788974A (zh) * 2010-03-12 2010-07-28 华为技术有限公司 可变点fft/ifft运算方法、装置及系统
CN101937423B (zh) * 2009-07-01 2012-06-13 中兴通讯股份有限公司 一种流水式fft/ifft的处理系统
CN102104773B (zh) * 2009-12-18 2013-03-20 上海华虹集成电路有限责任公司 用于实现可变数据个数的fft/ifft处理器的基4模块
CN103218348A (zh) * 2013-03-29 2013-07-24 北京创毅视讯科技有限公司 快速傅里叶变换处理方法和系统
CN105445759A (zh) * 2015-11-09 2016-03-30 湖南中森通信科技有限公司 一种导航基带抗干扰多系统复用方法
CN107358165A (zh) * 2017-06-15 2017-11-17 深圳市泰和安科技有限公司 基于fft滤波的方法、终端设备及计算机可读存储介质
CN107844451A (zh) * 2017-10-23 2018-03-27 复旦大学 一种级联板间流水线的“蝶式”传输方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101937423B (zh) * 2009-07-01 2012-06-13 中兴通讯股份有限公司 一种流水式fft/ifft的处理系统
CN102104773B (zh) * 2009-12-18 2013-03-20 上海华虹集成电路有限责任公司 用于实现可变数据个数的fft/ifft处理器的基4模块
CN101788974A (zh) * 2010-03-12 2010-07-28 华为技术有限公司 可变点fft/ifft运算方法、装置及系统
CN103218348A (zh) * 2013-03-29 2013-07-24 北京创毅视讯科技有限公司 快速傅里叶变换处理方法和系统
CN103218348B (zh) * 2013-03-29 2016-01-27 北京创毅视讯科技有限公司 快速傅里叶变换处理方法和系统
CN105445759A (zh) * 2015-11-09 2016-03-30 湖南中森通信科技有限公司 一种导航基带抗干扰多系统复用方法
CN107358165A (zh) * 2017-06-15 2017-11-17 深圳市泰和安科技有限公司 基于fft滤波的方法、终端设备及计算机可读存储介质
CN107844451A (zh) * 2017-10-23 2018-03-27 复旦大学 一种级联板间流水线的“蝶式”传输方法
CN107844451B (zh) * 2017-10-23 2020-11-20 复旦大学 一种级联板间流水线的“蝶式”传输方法

Similar Documents

Publication Publication Date Title
CN1983246A (zh) 一种变换地址原址返回的级间流水fft处理模块
CN110765709B (zh) 一种基于fpga的基2-2快速傅里叶变换硬件设计方法
Hemmert et al. An analysis of the double-precision floating-point FFT on FPGAs
KR20230172043A (ko) 동형 암호화에 의한 보안 계산 가속화를 위한 동형 처리 유닛
TWI323850B (zh)
CN101847986B (zh) 一种实现fft/ifft变换的电路及方法
CN102208005A (zh) 一种2-d卷积器
CN100390782C (zh) 一种实时快速傅立叶变换电路
CN102402415A (zh) 一种动态可重构阵列内数据缓存的装置及方法
CN100409259C (zh) 可缩放大规模二维卷积电路
CN104268124A (zh) 一种fft实现装置和方法
CN105955896A (zh) 一种可重构dbf算法硬件加速器及控制方法
CN201111042Y (zh) 一种二维小波变换集成电路结构
CN110519174B (zh) 一种面向高阶路由器芯片的高效并行管理方法及架构
CN1324456C (zh) 采用混合压缩两级流水乘加单元的数字信号处理器
Wang et al. Accelerating 2D FFT with non-power-of-two problem size on FPGA
CN105373492A (zh) 一种面向任务流的基于寄存器文件的快速数据交换结构
CN1564125A (zh) 一种基于cordic单元的阵列式可重构dsp引擎芯片结构
Elliott et al. Computational RAM: The case for SIMD computing in memory
CN105701036A (zh) 一种支持变形基16fft算法并行访存的地址转换单元
CN113159302A (zh) 一种用于可重构神经网络处理器的路由结构
CN102238348A (zh) 一种可变数据个数的fft/ifft处理器的基4模块
CN102104773B (zh) 用于实现可变数据个数的fft/ifft处理器的基4模块
CN214540742U (zh) 基于Zynq的可配置数据排序系统
Myjak et al. Medium-grain cells for reconfigurable DSP hardware

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication