CN1983246A - 一种变换地址原址返回的级间流水fft处理模块 - Google Patents
一种变换地址原址返回的级间流水fft处理模块 Download PDFInfo
- 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
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处理模块,特别是一种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处理模块,其特征在于:所述数据转换模块通过寄存器做行读列写来实现数据转换。
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)
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 | 复旦大学 | 一种级联板间流水线的“蝶式”传输方法 |
-
2005
- 2005-12-14 CN CN 200510111493 patent/CN1983246A/zh active Pending
Cited By (9)
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 |