CN102238348B - 一种可变数据个数的fft/ifft处理器的基4模块 - Google Patents

一种可变数据个数的fft/ifft处理器的基4模块 Download PDF

Info

Publication number
CN102238348B
CN102238348B CN201010152070.0A CN201010152070A CN102238348B CN 102238348 B CN102238348 B CN 102238348B CN 201010152070 A CN201010152070 A CN 201010152070A CN 102238348 B CN102238348 B CN 102238348B
Authority
CN
China
Prior art keywords
data
register
radix
bit wide
fft
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.)
Expired - Fee Related
Application number
CN201010152070.0A
Other languages
English (en)
Other versions
CN102238348A (zh
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 Huahong Integrated Circuit Co Ltd
Original Assignee
Shanghai Huahong Integrated Circuit Co Ltd
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 Huahong Integrated Circuit Co Ltd filed Critical Shanghai Huahong Integrated Circuit Co Ltd
Priority to CN201010152070.0A priority Critical patent/CN102238348B/zh
Publication of CN102238348A publication Critical patent/CN102238348A/zh
Application granted granted Critical
Publication of CN102238348B publication Critical patent/CN102238348B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

一种可变数据个数的FFT/IFFT处理器的基4模块,由寄存器、基4运算单元、二选一多路选择器、选择与控制模块、乘法模块,旋转因子模块构成。二选一多路选择器,包含两个多路选择器MUX1和MUX2。在外部数据输入时,数据块被分成四块,前三块数据存储在寄存器里,最后一块数据到达时,与前面三块被存储在寄存器里的数据一起被送往基4运算单元进行运算。采用本发明目的提供一种可变数据个数的FFT/IFFT处理器的基4模块,能够在不改变原有时钟频率的前提下,合并多个寄存器,减少寄存器连线,缩小设计面积,节省芯片资源,提高了资源利用率。

Description

一种可变数据个数的FFT/IFFT处理器的基4模块
技术领域
本发明涉及一种基于FFT/IFFT处理器的基4模块,尤其涉及一种可变数据个数的FFT/IFFT处理器的基4模块。
背景技术
随着通信技术和信号处理技术的发展,人们对多媒体的需求越来越多,质量也越来越高,如何在现有的技术水平和硬件条件下实现合理优化实时的多媒体通信终端设备和产品一直是近年来信号处理领域和相关公司关注的话题。
移动数字电视作为多媒体通信以及集成电路产业发展的重要方向,近年来在国际上获得飞速发展。作为数字电视标准中的佼佼者,CMMB(中国移动多媒体数字广播)标准已覆盖全国大多数大中型城市,随着应用的增多,拥有CMMB标准的数字电视将会深入到社会的每个角落。
在信号分析处理方面有着卓越表现的快速傅里叶变换FFT及反快速傅里叶变换IFFT不仅能将模拟信号转换到频域,而且还能把数字信号从频域转换到时域或从时域转换到频域;这使得它在通信领域应用十分广泛。在CMMB系统发送端需要对信号进行反快速傅里叶变换IFFT,而在CMMB系统接收端则需要对信号进行快速傅里叶变换FFT。FFT/IFFT系统中的核心运算就是基2或基4运算,基4或基2模块的性能对整个FFT/IFFT系统的性能影响巨大。
基于专利名称为“用于实现可变数据个数的FFT/IFFT处理器的基4模块”(申请号为200910201955.2)的发明专利的内容,设计中采用的寄存器数据较多,在设计过程中占用大量的芯片资源,如何能在现有技术基础上且不改变原有时钟频率设计,降低芯片面积,提高芯片设计的资源利用率,成为本发明所要解决的技术问题。
发明内容
本发明目的提供一种可变数据个数的FFT/IFFT处理器的基4模块,能够在不改变原有时钟频率的前提下,合并多个寄存器,减少寄存器连线,缩小设计面积,节省芯片资源,提高资源利用率。
一种可变数据个数的FFT/IFFT处理器的基4模块,由寄存器、基4运算单元、二选一多路选择器、选择与控制模块、乘法模块,旋转因子模块构成。
寄存器,用于数据存储。
基4运算单元,用以进行基4运算。
二选一多路选择器,包含两个选择器MUX1和MUX2。MUX1用于对输入的数据流进行选择控制;MUX2用于对寄存器和基4运算单元的输出数据进行选择控制。
选择与控制模块,用于控制整个过程的数据流向和运算过程。
乘法模块,用于进行旋转因子与基4运算结果的复乘运算。
旋转因子模块,用于产生旋转因子。
本发明中,寄存器的时钟为外部输入数据的时钟的两倍。
在外部数据输入时,数据块被分成四块,前三块数据存储在寄存器里,最后一块数据到达时,与前面三块被存储在寄存器里的数据一起被送往基4运算单元进行运算。寄存器的访问方式是先读后写。寄存器的输入端口和输出端口数据的位宽为外部输入数据线Din的位宽的三倍。外部输入数据Din写入所述寄存器时,将外部输入数据Din所需存放地址的数据读取出,再把该数据的某些位修改为外部输入数据Din,再写回所述寄存器。
二选一选择器中,二选一选择器MUX1的两个输入端口和一个输出端口的位宽都为外部输入数据线Din的位宽的三倍。外部输入数据线Din的数据在选择与控制模块的控制下拓展三倍位宽后,连接到所述第一个二选一选择器MUX1的第一个数据输入端口。二选一选择器MUX2的两个输入端口和一个输出端口的位宽都与外部输入数据线Din的位宽一样,所述寄存器的输出端口的数据在选择与控制模块的控制下缩小三倍位宽,连接到所述第二个二选一选择器MUX2的第一个数据输入端口。
当外部输入数据线Din的数据的位宽为M比特,输入的数据块总共有N个数据,分成四块,则第一块为第1~N/4个数据;第二块为第N/4+1~N/2个数据;第三块为第N/2+1~3*N/4个数据;第四块为第3*N/4+1~N个数据;寄存器的位宽为3*M。
第一块数据到来时,送往寄存器位宽为第0位到第M-1位的位置暂存;当第二块数据到来时,送往寄存器位宽为第M位到第2*M-1位的位置暂存;当第三块数据到来时,送往寄存器位宽为第2*M位到第3*M-1位的位置暂存。
第四块数据的第一个数据到来时,直接送往基4运算单元。同时从寄存器取出地址为0的位宽为第0位到第M-1位的数据,位宽为第M位到第2*M-1位的数据,位宽为第2*M位到第3*M-1位的数据,一起送往基4运算单元,进行基4运算,运算完成后产生的4个输出数据。第1个基4运算单元的输出数据直接输出到乘法模块,进行乘法运算,第2个基4运算单元的输出数据写回到寄存器地址为0的位宽为第0位到第M-1位的位置,保存在原来第1个数据的位置;第3个基4运算单元的输出数据写回到寄存器地址为0的位宽为第M位到第2*M-1位的位置,保存在原来第N/4+1个数据的位置;第4个基4运算单元的输出数据写回到寄存器地址为0的位宽为第2*M位到第3*M-1位的位置,保存在原来第N/2+1个数据的位置。
接收第四块数据第二个数据,送往基4运算单元。同时从寄存器取出地址为1的位宽为第0位到第M-1位的数据,位宽为第M位到第2*M-1位的数据,位宽为第2*M位到第3*M-1位的数据,一起送往基4运算单元,进行基4运算,运算完成后产生的4个输出数据。第1个基4运算单元的输出数据直接输出到乘法模块,进行乘法运算;第2个基4运算单元的输出数据写回到寄存器地址为1的位宽第0位到第M-1位的位置,保存在原来第2个数据的位置;第3个基4运算单元的输出数据写回到寄存器地址为1的位宽为第M位到第2*M-1位的位置,保存在原来第N/4+2个数据的位置;第4个基4运算单元的输出数据写回到寄存器地址为1的位宽为第2*M位到第3*M-1位的位置,保存在原来第N/2+2个数据的位置。依次接收第四块数据的第三个数据,直至第四块数据的最后一个数据处理完毕。
第一块数据,第二块数据和第三块数据处理完毕,经基4运算单元处理后的数据中,第一块经基4运算单元处理的数据已经输出到乘法模块进行乘法运算,第二块经基4运算单元处理的数据暂存在寄存器的位宽为第0位到第M-1位的位置,第三块经基4运算单元处理的数据暂存在寄存器的位宽为第M位到第2*M-1位的位置,第四块经基4运算单元处理的数据暂存在寄存器的位宽为第2*M位到第3*M-1位的位置。在输出完第一块经基4运算单元处理的数据后,依次输出暂存在寄存器的位宽为第0位到第M-1位位置中第二块已被基4运算单元处理的数据,同时接收外面的输入数据,把外面输入数据的第一块数据保存在寄存器的位宽为第0位到第M-1位的位置。输出完暂存在寄存器的位宽为第0位到第M-1位中经基4运算单元处理的最后一个数据后,输出暂存在寄存器的位宽为第M位到第2*M-1位中第三块已被基4运算单元处理的数据,同时接收外面的输入数据,把外面输入数据的第二块数据保存在寄存器的位宽为第M位到第2*M-1位的位置。输出完暂存在寄存器的位宽为第M位到第2*M-1位中已被基4运算单元处理的最后一个数据后,输出暂存在寄存器的位宽为第2*M位到第3*M-1位中第四块已被基4运算单元处理的数据,接收外面的输入数据,把外面输入数据的第三块数据保存在寄存器的位宽为第2*M位到第3*M-1位的位置。
附图说明
图1一种可变数据个数的FFT/IFFT处理器的基4模块结构框图
图2通常情形下的寄存器应用示意图
图3基于本发明的寄存器应用示意图
具体实施方案
以下结合各附图对本发明所提出的内容进行详细的说明:
如图1中所示,输入数据的时钟若为clk1x,则基4模块的三个寄存器以及相关控制逻辑电路的时钟需采用两倍时钟clk2x,这样才能保证在下一个数据块到来时,对寄存器的先读后写操作不会出现出数据被覆盖或丢失。
下面以数据个数N为4096,位宽为10比特的数据块的基4运算为例,进行详细的说明:
外部输入的数据块总共有4096个数据,分成四块,第一块为第1~1024个数据;第二块为第1025~2048个数据;第三块为第2049~3072个数据;第四块为第3073~4096个数据,寄存器的位宽为30比特。
当第一块数据到来时,被送往寄存器位宽为第0位到第9位的位置暂存;当第二块数据到来时,被送往寄存器位宽为第10位到第19位的位置暂存;当第三块数据到来时,被送往寄存器位宽为第20位到第29位的位置暂存。
当第四块数据的第一个数据到来时,直接送往基4运算单元。同时从寄存器取出地址为0的位宽为第0位到第9位的数据,位宽为第10位到第19位的数据,位宽为第20位到第29位的数据,一起送往基4运算单元,进行基4运算。运算完成后产生的4个输出数据中,第1个基4运算单元的输出数据直接输出到乘法模块,进行乘法运算;第2个基4运算单元的输出数据写回到寄存器地址为0,位宽为第0位到第9位的位置,保存在原来第1个数据的位置;第3个基4运算单元的输出数据写回到寄存器地址为0的位宽为第10位到第19位的位置,保存在原来第1025个数据的位置;第4个基4运算单元的输出数据写回到寄存器地址为0的位宽为第20位到第29位的位置,保存在原来第2049个数据的位置。
然后接收第四块数据第二个数据,直接送往基4运算单元。同时从寄存器取出地址为1的位宽为第0位到第9位的数据,位宽为第10位到第19位的数据,位宽为第20位到第29位的数据,一起送往基4运算单元,进行基4运算。运算完成后产生的4个输出数据中,第1个基4运算单元的输出数据直接输出到乘法模块,进行乘法运算;第2个基4运算单元的输出数据写回到寄存器地址为1的位宽第0位到第9位的位置,保存在原来第2个数据的位置;第3个基4运算单元的输出数据写回到寄存器地址为1的位宽为第10位到第19位的位置,保存在原来第1026个数据的位置;第4个基4运算单元的输出数据写回到寄存器地址为1,位宽为第20位到第29位的位置,保存在原来第2050个数据的位置。
依次再接受第四块数据的第三个数据,……直至第四块数据的最后一个数据处理完毕。
与此同时,第一块数据,第二块数据和第三块数据也已经处理完毕,经过基4运算单元处理后的数据中,第一块已被基4运算单元处理的数据已经输出到乘法模块进行乘法运算,第二块已被基4运算单元处理的数据暂存在寄存器的位宽为第0位到第9位的位置,第三块已被基4运算单元处理的数据暂存在寄存器的位宽为第10位到第19位的位置,第四块已被基4运算单元处理的数据暂存在寄存器的位宽为第20位到第29位的位置。在输出完第一块已被基4运算单元处理的数据后,开始依次输出暂存在寄存器的位宽为第0位到第9位位置中第二块已被基4运算单元处理的数据,同时接收外面的输入数据,把外面输入数据的第一块数据保存在寄存器的位宽为第0位到第9位的位置。输出完暂存在寄存器的位宽为第0位到第9位中已被基4运算单元处理的最后一个数据后,开始依次输出暂存在寄存器的位宽为第10位到第19位中第三块已被基4运算单元处理的数据,同时接收外面的输入数据,把外面输入数据的第二块数据保存在寄存器的位宽为第10位到第19位的位置。输出完暂存在寄存器的位宽为第10位到第19位中已被基4运算单元处理的最后一个数据后,开始依次输出暂存在寄存器的位宽为第20位到第29位中第四块已被基4运算单元处理的数据,同时接收外面的输入数据,把外面输入数据的第三块数据保存在寄存器的位宽为第20位到第29位的位置。
采用本发明所提供的可变数据个数的FFT/IFFT处理器的基4模块,在同等设计情形中能减少大量寄存器连线,节省芯片资源。例如,在设计数据个数N=4096的FFT处理器时,需要6级基4运算才能完成,在传统方法中,每级基4运算至少要3个单口SRAM,每个SRAM需要一组时钟,复位信号,片选信号,读写使能信号,地址线等,共需18组,其寄存器使用情况如图2所示。而采用本发明所提供的基4模块的设计方法后,每级的输入数据线和输出数据线宽度总和与传统的方案一样,但时钟,复位信号,片选信号,读写使能信号,地址线等只需一组就够了,总共仅需6组,寄存器设计情形如图3所示。此外,寄存器块数也由原来的18块降为6块,资源节约的效果非常明显。当数据个数N越大,节省的寄存器资源越多。在实现过程简单,可在FPGA或者ASIC上实现,适用于CMMB,DVB-T等移动数字电视芯片的设计。

Claims (5)

1.一种可变数据个数的FFT/IFFT处理器的基4模块,由寄存器、基4运算单元、二选一多路选择器、选择与控制模块、乘法模块和旋转因子模块构成,寄存器与二选一多路选择器连接,存放被平均分成四块的外部输入数据的前三块,寄存器的访问为先读后写,寄存器的时钟为外部输入数据的时钟的两倍,二选一多路选择器为两个,二选一选择器MUX1和二选一选择器MUX2,其特征在于所述基4运算单元的四个输入端口中有一个输入端口连接到外部输入数据线Din,其他三个输入端口连接寄存器的输出端;其四个输出端口中有一个连接到二选一选择器MUX2的输入端,其他三个输出端口连接到二选一选择器MUX1的输入端。 
2.如权利要求1所述的一种可变数据个数的FFT/IFFT处理器的基4模块,其特征在于:所述寄存器的输入端口和输出端口数据位宽为外部输入数据线Din的位宽的三倍。 
3.如权利要求1所述的一种可变数据个数的FFT/IFFT处理器的基4模块,其特征在于:所述二选一选择器MUX1的两个输入端口和一个输出端口的位宽设为外部输入数据线Din的位宽的三倍;外部输入数据线Din的数据在选择与控制模块的控制下拓展三倍位宽,连接到所述二选一选择器MUX1的第一个数据输入端口。 
4.如权利要求1所述的一种可变数据个数的FFT/IFFT处理器的基4模块,其特征在于:所述二选一选择器MUX2的两个输入端口和一个输出端口的位宽都与外部输入数据线Din的位宽相同;所述寄存器的输出端口的数据在选择与控制模块的控制下缩小三倍位宽,连接到所述二选一选择器MUX2的第一个数据输入端口。 
5.如权利要求1所述的一种可变数据个数的FFT/IFFT处理器的基4模块,其特征在于:所述数据块为第一块为第1到N/4个数据;第二块为第(N/4)+1到N/2个数据;第三块为第(N/2)+1到(3*N/4)个数据;第四块为第 (3*N/4)+1到N个数据,寄存器位宽为3*M,其中输入数据块的数据个数为N,数据位宽为M比特。 
CN201010152070.0A 2010-04-20 2010-04-20 一种可变数据个数的fft/ifft处理器的基4模块 Expired - Fee Related CN102238348B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010152070.0A CN102238348B (zh) 2010-04-20 2010-04-20 一种可变数据个数的fft/ifft处理器的基4模块

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010152070.0A CN102238348B (zh) 2010-04-20 2010-04-20 一种可变数据个数的fft/ifft处理器的基4模块

Publications (2)

Publication Number Publication Date
CN102238348A CN102238348A (zh) 2011-11-09
CN102238348B true CN102238348B (zh) 2014-02-05

Family

ID=44888504

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010152070.0A Expired - Fee Related CN102238348B (zh) 2010-04-20 2010-04-20 一种可变数据个数的fft/ifft处理器的基4模块

Country Status (1)

Country Link
CN (1) CN102238348B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105045766B (zh) 2015-06-29 2019-07-19 深圳市中兴微电子技术有限公司 基于3072点快速傅里叶变换的数据处理方法及处理器
CN114004349A (zh) * 2016-08-05 2022-02-01 中科寒武纪科技股份有限公司 一种能支持不同位宽运算数据的运算单元、方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6349317B1 (en) * 1999-03-13 2002-02-19 Vitit Kantabutra Efficient radix-4 CORDIC vector rotators and computers of sine and cosine functions
CN1914607A (zh) * 2003-12-05 2007-02-14 高通股份有限公司 Fft结构和方法
CN101136891A (zh) * 2007-08-09 2008-03-05 复旦大学 流水线结构的3780点快速傅里叶变换处理器
US7577698B2 (en) * 2004-12-28 2009-08-18 Industrial Technology Research Institute Fast fourier transform processor
CN102104773A (zh) * 2009-12-18 2011-06-22 上海华虹集成电路有限责任公司 用于实现可变数据个数的fft/ifft处理器的基4模块

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6349317B1 (en) * 1999-03-13 2002-02-19 Vitit Kantabutra Efficient radix-4 CORDIC vector rotators and computers of sine and cosine functions
CN1914607A (zh) * 2003-12-05 2007-02-14 高通股份有限公司 Fft结构和方法
US7577698B2 (en) * 2004-12-28 2009-08-18 Industrial Technology Research Institute Fast fourier transform processor
CN101136891A (zh) * 2007-08-09 2008-03-05 复旦大学 流水线结构的3780点快速傅里叶变换处理器
CN102104773A (zh) * 2009-12-18 2011-06-22 上海华虹集成电路有限责任公司 用于实现可变数据个数的fft/ifft处理器的基4模块

Also Published As

Publication number Publication date
CN102238348A (zh) 2011-11-09

Similar Documents

Publication Publication Date Title
WO2017000756A1 (zh) 基于3072点快速傅里叶变换的数据处理方法及处理器、存储介质
CN105975251B (zh) 一种基于粗粒度可重构架构的des算法轮迭代系统及迭代方法
CN101729463A (zh) 一种实现快速傅立叶变换、反变换的硬件装置及方法
CN102063411A (zh) 一种基于802.11n的FFT/IFFT处理器
Wang et al. A High-Throughput Low-Complexity Radix-$2^{\textbf {4}} $-$2^{\textbf {2}} $-$2^{\textbf {3}} $ FFT/IFFT Processor With Parallel and Normal Input/Output Order for IEEE 802.11 ad Systems
CN101937423B (zh) 一种流水式fft/ifft的处理系统
CN109271138A (zh) 一种适用于大维度矩阵乘的链式乘法结构
CN102419741A (zh) 一种基于同址同序素因子算法的3780点离散傅里叶变换处理装置和方法
CN101617306B (zh) 用于执行快速傅立叶变换操作的设备
CN102214159A (zh) 一种实现3780点fft/ifft的方法及其处理器
CN102238348B (zh) 一种可变数据个数的fft/ifft处理器的基4模块
CN105095152A (zh) 一种可配置的128点fft装置
CN103853524A (zh) 一种乘法器装置和实现乘法运算的方法
CN101763337A (zh) N点fft/ifft/ifft/ifft方法和装置
CN1324456C (zh) 采用混合压缩两级流水乘加单元的数字信号处理器
CN105975436B (zh) 一种SoC系统中通用可配置加速单元的IP电路
CN209517154U (zh) 支持实现精确延时处理的电路结构
CN102104773B (zh) 用于实现可变数据个数的fft/ifft处理器的基4模块
Patil et al. An area efficient and low power implementation of 2048 point FFT/IFFT processor for mobile WiMAX
CN114185014B (zh) 一种应用于雷达信号处理的并行卷积方法及装置
Siu et al. Operating frequency improvement on FPGA implementation of a pipeline large-FFT processor
Wang et al. An area-efficient design of variable-length fast Fourier transform processor
CN102306142B (zh) 一种fft倒序操作存储器数据调度方法及电路
CN104657334A (zh) 一种快速傅里叶变化的基2-4-8混合基蝶算器及其应用
CN108628805A (zh) 一种低功耗的蝶形运算单元及处理方法、fft处理器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140205

Termination date: 20170420

CF01 Termination of patent right due to non-payment of annual fee