CN102411557B - 多粒度并行fft计算装置 - Google Patents

多粒度并行fft计算装置 Download PDF

Info

Publication number
CN102411557B
CN102411557B CN201110459907.0A CN201110459907A CN102411557B CN 102411557 B CN102411557 B CN 102411557B CN 201110459907 A CN201110459907 A CN 201110459907A CN 102411557 B CN102411557 B CN 102411557B
Authority
CN
China
Prior art keywords
address
data
butterfly
memory
selector
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.)
Active
Application number
CN201110459907.0A
Other languages
English (en)
Other versions
CN102411557A (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 Silang Technology Co ltd
Original Assignee
Institute of Automation of Chinese Academy of Science
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 Institute of Automation of Chinese Academy of Science filed Critical Institute of Automation of Chinese Academy of Science
Priority to CN201110459907.0A priority Critical patent/CN102411557B/zh
Publication of CN102411557A publication Critical patent/CN102411557A/zh
Application granted granted Critical
Publication of CN102411557B publication Critical patent/CN102411557B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种多粒度并行FFT计算装置,包括三个存储器、蝶形计算装置、状态控制单元、数据反序网络和第一选择器,三个存储器均为多粒度并行存储器,用于存储蝶形组数据以及与蝶形组数据对应的旋转因子。蝶形计算装置根据从第一选择器输出的蝶形组数据和从一个存储器输出的与该蝶形组数据对应的旋转因子完成一个蝶形组的计算,并将计算结果写回其它两个存储器。本发明利用特定的读写粒度,可从多粒度并行存储器中并行读取蝶形组数据和对应的旋转因子,读取过程中不会产生存储器冲突,也不需要额外的步骤再对读写数据进行排序。

Description

多粒度并行FFT计算装置
技术领域
本发明涉及集成电路设计领域中的快速傅立叶变换(FFT)数据的并行存储、并行读写及并行计算。 
背景技术
信号处理系统经常需要将信号内容在时域和频域进行转换,快速傅立叶变换算法(FFT)可进行时域和频域间的信号转换。相对于其它转换算法来说,快速傅立叶变换算法具有结构统一、计算量少的优点,因此广泛应用于信号处理系统中。 
FFT算法输入N个数据,输出N个数据;一般称时域至频域的变换为正向变换,而频域至时域的变换变逆向变换。FFT算法有多种实现方式,但都由库利-图基算法演变而来。对于N个数据点,基2的库利-图基算法包括log2N个计算级。每个计算级输入N个数,输出N个数;前一计算级的输出经过一定的排序后作为后一计算级的输入。第一级输入为原始数据,最后一级输出为FFT计算结果,如图1所示。图1中假定数据点长度为8,整个计算过程需要计算三个计算级103:S0、S1、S2。 
每个计算级103由N/2个蝶形(102)组成,蝶形计算的计算结构如图2所示。每个蝶形计算输入两个数据点A和B,以及一个旋转因子W,得到两个计算结果:A+BW和A-BW。在每个蝶形计算中,输入数据A和B的序号具有确定的对应关系,该对应关系由蝶形所在的计算级以及输入数据A或B的序号来确定;同时,旋转因子W的值由当前蝶形所在的计算级103、输入数据A或B的序号以及FFT的数据长度确定。例如在图1中,S0计算级中的第1个数据必定与第0个数据构成一蝶形,并且第0个数据为蝶形输入的A,第1个数据为蝶形输入的B,而W的值为1。而S1计算级中的第1个数据必定与第3个数据构成一蝶形,并且第1个数据为蝶形输入的A,第3个数据为蝶形输入的B,而W的值为1。 
蝶形计算的计算级之间存在数据相关,后一计算级必须等待前一计算级完成以后才能开始计算。因此,每级计算完成后都需要将结果存放在存储器中,下一级计算从存储器中读取上一级的计算结果作为本计算级计算的输入。计算级内的蝶形相互独立,蝶形的计算顺序不影响计算结果,但每个蝶形所读取的数据A、B和旋转因子W必须满足内在的对应关系。 
在并行FFT计算中,运算部件从多粒度并行存储器中读取多个蝶形所需数据及对应的旋转因子,并行计算多个、多级蝶形,然后将计算结果并行写入存储器,以便进行一下级计算,如图3所示。 
图3中,假定数据长度为64,并行粒度为4,即多粒度并行存储器300一次可读写4个数据。此时,两相邻计算级中存在数据相关的4个蝶形303构成一个蝶形组302,两相邻计算级中的蝶形组构成一计算节301。在蝶形组302中,每个蝶形的输入A、B、W仍必须满足其内在的对应关系,因此,并行FFT算法中必须考虑计算数据和旋转因子在存储器中的分布,以及每个蝶形组302的读写地址和读写方式,以保证蝶形计算装置每次都能并行读取所需数据和旋转因子。 
大部分并行FFT算法相关的专利都着重讨论如何将长序列的FFT数据分解成多个短序列的FFT,利用多个处理器并行计算各个短序列的FFT,最后对多个短序列的FFT进行交织计算,得到最终的长序列FFT结果。 
如美国专利US6,792,441B2(Parallel MultiProcessing For Fast Fourier Transform With Pipeline Architecture)。这一类算法都没考虑多个处理单元同时访问存储器时的冲突问题,以及多个处理器如何交织多个短序列FFT结果。而实际应用中,存储器访问冲突以及处理器之间的同步和通信效率将严重影响FFT的计算效率。 
美国专利US6,304,887B1(FFT-Based Parallel System For Array Processing With Low Latency)讨论了FFT算法中数据并行读写的问题,该专利将FFT数据存放在多个存储器中,利用多个数据缓冲区、多个选择器对数据进行排序,以保证每次读写的数据分布在不同的存储器中,实现并行读写。但该专利需要专用的存储器、数据缓冲区和选择器,读写地址计算复杂,难以实现不同数据长度、不同读写粒度的并行FFT算法。 
发明内容
(一)要解决的技术问题 
本发明要解决的技术问题实现对不同数据算度、不同读写粒度的FFT计算的支持,并提高FFT计算装置的计算效率。 
(二)技术方案 
本发明提出的一种多粒度并行FFT计算装置包括第一存储器、第二存储器、第三存储器、蝶形计算装置、状态控制单元、数据反序网络和第一选择器,所述第一存储器、第二存储器用于存储蝶形组数据,所述第三存储器用于存储与蝶形组数据对应的旋转因子;所述蝶形计算装置的输入端分别与第三存储器和第一选择器的输出端相连接,根据从第一选择器输出的蝶形组数据和从第三存储器输出的与该蝶形组数据对应的旋转因子,完成一个蝶形组的计算,并将计算结果写回第一存储器或第二存储器;所述状态控制单元用于根据当前计算节和计算级,生成第一、第二和第三存储器的读写地址和读写控制信号;所述数据反序网络用于蝶形组组内数据的反序排列;第一选择器的两个输入端分别接收原始输入数据和经数据反序网络位反序排列后的数据;如果当前处于计算节0,第一选择器选择位反序排列后的数据,否则选择原始数据。 
所述第一、第二和第三存储器为多粒度并行存储器,均连接于所述状态控制单元并接受状态控制单元的读写控制。 
所述状态控制单元用于根据当前计算节和计算级,生成第一、第二和第三存储器的读写地址和读写控制信号。 
所述状态控制单元包括第一计算器、第二计算器和第三计算器,分别用于计算当前计算节号s、当前逻辑Bank号i和当前存储行号j。 
所述状态控制单元还包括第一地址产生单元、第二地址产生单元和第三地址产生单元,分别用于产生旋转因子读取地址、数据写地址和数据读地址。 
所述第一地址产生单元根据第一、第二、第三计算器分别计算得到的当前计算节号s、当前逻辑Bank号i和当前存储行号j产生旋转因子读取 地址,并将该地址输出到第三存储器。 
所述第二地址产生单元根据第二、第三计算器分别计算得到的当前逻辑Bank号i和当前存储行号j产生数据写地址,并输出到地址分发器。 
所述状态控制单元还包括第二选择器和地址分发器; 
所述第三地址产生单元根据第二、第三计算器分别计算得到的当前逻辑Bank号i和当前存储行号j产生数据读地址,并输出到地址反序逻辑和第二选择器; 
所述第二选择器的输入端分别接收原始读地址和经过位反序后的读地址,并根据当前计算节号s进行选择,以输出到地址分发器。 
如果当前处理计算节号为0,则该第二选择器选择位反序后的读地址,否则该第二选择器选择原始读地址。 
所述地址分发器根据当前计算节号s的值确定读地址输出到第一存储器还是第二存储器,以及确定写地址输出到第一存储器还是第二存储器。 
(三)有益效果 
本发明提出的多粒度并行FFT计算装置可实现自然序列数据输入,自然序列数据输出,并且实现了一次读写、多级计算,最大程度上减少存储器访问次数,以减少芯片功耗;本发明还可根据需要具体指定并行粒度;本发明利用特定的读写粒度,可从多粒度并行存储器中并行读取蝶形组数据和对应的旋转因子,读取过程中不会产生存储器冲突,也不需要额外的步骤再对读写数据进行排序;同时,可以在读取的同时实现位反序操作,因此,原始数据可以以自然序存放在存储器中。 
附图说明
图1是数据长度为8时,按时间抽取的基2的FFT算法流程图; 
图2是基本蝶形结构的示意图; 
图3是蝶形计算中的蝶形、蝶形组、计算级、计算节的示意图; 
图4是本发明的多粒度并行FFT计算装置的一个具体实施例的结构示意图; 
图5是本发明的多粒度并行存储器的逻辑结构示意图; 
图6是本发明的的多粒度并行存储器在不同读写粒度下,存储器的编址方式和逻辑Bank划分的示意图; 
图7是本发明的多料度并行FFT蝶形计算装置的结构示意图。 
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。 
在本说明书中,为描述方便,我们首先介绍本发明的多粒度并行FFT计算装置的整体结构,然后对其中包括的各个部件分别进行描述。 
多粒度并行FFT计算装置 
图4是本发明的多粒度并行FFT计算装置的一个具体实施例的结构示意图,其中包括三个多粒度并行存储器、蝶形计算装置404、状态控制单元405、数据反序网络406和第一选择器407。在此,三个多粒度并行存储器分别称为第一存储器401、第二存储器402、第三存储器403。 
其中,第一、第二存储器401、402用于存储蝶形组数据,第三存储器403用于存储与蝶形组数据对应的旋转因子。所述第一、第二和第三存储器401-403均连接于所述状态控制单元405并接受状态控制单元405的读写控制。 
数据反序网络406可实现自然序列的位反序排列。数据反序网络406用于蝶形组组内数据的反序排列。当多粒度并行FFT计算装置的并行粒度为2n时,数据反序网络406的读数据线420上的输入数据的个数为2n,输出端上的输出数据的个数也为2n。如果定义输入数据向量为X,从左至右的索引值为i(0≤i<n),X[i]表示第i个输入数据;输出数据向量为Y,从左至右的索引值为j(0≤j<n),Y[j]表示第j个输出数据;br(i)表示对i进行镜像位反序,则数据反序网络406中X与Y的对应关系为: 
Y[i]=X[br(i)] 
第一选择器407的两个输入端分别为原始数据和经数据反序网络406位反序排列后的数据。如果当前处于计算节0,第一选择器407选择位反序排列后的数据,否则选择原始数据。 
所述蝶形计算装置404为多粒度并行FFT蝶形计算装置,其输入端分别与第三存储器403和第一选择器407的输出端相连接,根据从第一选择器407输出的蝶形组数据422和从第三存储器403输出的与该蝶形组数据对应的旋转因子423,完成一个蝶形组的计算,并将计算结果写回第一存储器401或第二存储器402。具体来说,如果计算时从第一存储器401中读取数据,那么计算结果写回第二存储器402;如果计算时从第二存储器402中读取数据,那么计算将结果写回第一存储器401。 
所述状态控制单元405用于根据当前计算节和计算级,生成第一、第二和第三存储器401-403的读写地址和读写控制信号。具体来说,该状态控制器的输出包括第一存储器401的读写地址、第二存储器402的读写地址425、第三存储器403的读写地址429、第一存储器401的读写粒度、第二存储器402的读写粒度424以及第三存储器403的读写粒度428。 
所述状态控制单元405包括三个计算器408-410,分别用于计算当前计算节号s、当前逻辑Bank号i和当前存储行号j。在此,将该三个计算器分别称为第一计算器408、第二计算器409和第三计算器410。 
所述状态控制单元405还包括三个地址产生单元、地址反序逻辑414、第二选择器415和地址分发器416。三个地址产生单元分别用于产生旋转因子读取地址、数据写地址和数据读地址。在此,为方便描述,将其称为第一地址产生单元411、第二地址产生单元412和第三地址产生单元413。 
所述第一地址产生单元411根据第一、第二、第三计算器408-410分别计算得到的当前计算节号s、当前逻辑Bank号i和当前存储行号j产生旋转因子读取地址429,并将该地址输出到第三存储器403。 
所述第二地址产生单元412根据第二、第三计算器409、410分别计算得到的当前逻辑Bank号i和当前存储行号j产生数据写地址431,并输出到地址分发器416; 
所述第三地址产生单元413根据第二、第三计算器409、410分别计算得到的当前逻辑Bank号i和当前存储行号j产生数据读地址430,并输出到地址反序逻辑414和第二选择器415。 
所述地址反序逻辑414接收第三地址产生单元413的输入,对输入的读地址的比特位进行镜像反序。 
所述第二选择器415的输入端分别接收原始读地址433和经过位反序后的读地址,并根据当前计算节号s进行选择,以输出到地址分发器416。具体来说,如果当前处理计算节号为0,该第二选择器415选择位反序后的读地址,否则该第二选择器415选择原始读地址433。第二选择器415输出读地址431到地址分发器416。 
所述地址分发器416根据当前计算节号s的值确定读地址431输出到第一存储器401还是第二存储器402,以及确定写地址430输出到第一存储器401还是第二存储器402。假定原始自然序数据存放在第一存储器401中,则在当前计算节号s为偶数时,地址分发器416将读地址431输出到第二存储器402,将写地址430送入第一存储器401;在当前计算节号s为奇数时,地址分发器416将读地址431输出到第一存储器,将写地址430输出到第二存储器402。 
多粒度并行存储器 
如上所述,第一存储器401、第二存储器402、第三存储器403均为多粒度并行存储器,以下参照图5和图6具体描述本发明的多粒度并行存储器。 
为便于说明,各个数据位宽以存储单元为单位来度量,存储单元定义为存储器的编址单位,也是存储器可读写的最小数据位宽。描述过程中出现包含“位宽为W”的语句都需要理解成W个存储单元的比特位(bit)。如存储单元为8bit的字节类型时,读写端口位宽为4的存储器实际位宽为4×8=32bit。同时,所有对象从0开始,从左至右编号。另外,如前所述,“粒度”是指地址连续的存储单元的个数。在以下的描述过程中,约定以下符号: 
·W:存储器读写端口位宽,必须为2的幂次方(即:W为2的n次方,n为自然数); 
·K:K=log2W,K+1表示存储器支持的读写粒度种类; 
·k:存储器读写粒度参数,为自然数,且0≤k≤K,实际读写粒度为g=2k; 
·g:g=2k,存储器读写粒度,1≤g≤W; 
·N:一个存储块的大小。 
本发明示意图中均假定W=4,但本发明适用于W为2的幂次方的其它情况。 
如图5所示,多粒度并行存储器由W个存储块505和一个数据选通网络502构成。每个存储块505是由存储单元503构成的二维阵列,该阵列中的存储行504必须包含W个存储单元503,每个存储块一次可读写一个存储行504。 
数据选通网络502在逻辑上根据读写地址和读写粒度从W个存储块505中选择W个存储单元503作为读写对象。 
本发明的存储器支持多种读写粒度,在不同的读写粒度下,每个存储块505的起始地址各不相同。我们以参数k来表征不同的读写粒度,实际的读写粒度g=2k。 
图6示出了W=4时,存储器在不同读写粒度下每个存储块605的编址。对于读写粒度g,每g个相邻的存储块605拼接成一个逻辑Bank606,所有逻辑Bank606的起始地址相同;逻辑Bank606内的存储块605起始地址前后相接,每个逻辑Bank606的寻址范围为0~gN-1,整个存储器的寻址范围为0~gN-1。 
存储器在进行读操作时,将读写地址和读写粒度发送给每个逻辑Bank606,每个逻辑Bank606读取g个存储单元并通过数据选通网络502传递给存储器读写端口501,W/g个逻辑Bank606所读取的数据按从左到右的顺序拼接成位宽为W的输出数据。 
存储器在进行写操作时,将存储器读写端口501传递过来的数据拆分成g份,每份数据位宽为W/g,通过数据选通网络502将第i份数据发送给第i个逻辑Bank606(0≤i<g),同时将读写地址和读写粒度发送给每个逻辑Bank606。每个逻辑Bank606写入g个存储单元。 
蝶形计算装置 
如前所述,本发明的多粒度并行FFT计算装置中包括的蝶形计算装置404为多粒度并行FFT蝶形计算装置,以下参照图7具体描述本发明的蝶形计算装置。 
并行粒度2L(L为正整数):并行粒度是指从缓冲器中并行读取并且可独立进行蝶形计算的数据个数,其中L为并行粒度因子。 
蝶形组开始计算级Rq:表征当前蝶形组开始的计算级,当N点FFT为平衡组时,即N=Lk,其中,k为正整数,每个蝶形组均有L级蝶形,Rq始终为0;当为非平衡组时,即N≠Lk,最后计算节中蝶形组不需要L级蝶形,根据N点不同设置Rq为1~(L-1),即从第Rq级蝶形开始计算,也即表示当前FFT蝶形组计算所需要的蝶形计算级数为L-Rq。 
FFT的一个基本蝶形计算结果表示为A±B*W,其中A、B分别表示FFT蝶形计算所需的第一、二个数据,W表示旋转因子。 
如图7所示,本发明的蝶形计算装置包括:一数据输入缓冲器701、一旋转因子缓冲器703、一数据重排缓冲器704、一计数器705、4个数据选通模块702、4个蝶形计算模块706、一写回控制模块707、一数据输出缓冲器710,每一个数据选通模块702和一个对应的蝶形计算模块706组合起来对一组输入数据进行处理。 
数据输入缓冲器701用于存放蝶形组开始计算时所需要的数据; 
旋转因子缓冲器703用于存放蝶形组每级蝶形计算所需要的旋转因子; 
计数器705用于标识蝶形计算的级数,该计数器为递减计数器,其初始值为L-Rq,当一级蝶形计算完成后该计数器的值减1; 
数据选通模块702用于根据计数器705的数值选择读入数据输入缓冲器701中的数据或是数据重排缓冲器704中的数据,也就是说,数据选通模块702的选通信号来自计数器705。当计数器705的值为L-Rq时,数据选通模块702选择数据输入缓冲器701中的8点数据进入蝶形计算模块706,否则选择数据重排缓冲器704中的8点数据,每一个数据选通模块702输入2个数据。 
每一蝶形计算模块706用于对于输入数据进行蝶形计算;蝶形计算模块进一步包括:数据分解模块708和蝶形计算单元709,其中: 
数据分解模块708用于对参与蝶形计算的数据进行实部和虚部的分解; 
蝶形计算单元709用于基于分解完成后的数据进行多级蝶形计算,蝶 形计算所需的旋转因子来自旋转因子缓冲器703,每一级蝶形计算完成后均把计算结果写入数据重排缓冲器704中。 
数据重排缓冲器704用于存放当前级蝶形计算的结果,并对当前级的蝶形计算结果进行重排,以满足下一级蝶形计算的顺序读入要求。 
写回控制模块707用于控制是否需要将数据重排缓冲器704中的数据写入到数据输出缓冲器710中,其控制信号来自计数器705,当计数器705的值为0时表示当前的蝶形组各级并行计算已完成,需要把数据重排缓冲器704中的数据写入到数据输出缓冲器710中,以输出该蝶形组的蝶形计算结果。 
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。 

Claims (8)

1.一种多粒度并行FFT计算装置,包括第一存储器(401)、第二存储器(402)、第三存储器(403)、蝶形计算装置(404)、状态控制单元(405)、数据反序网络(406)和第一选择器(407),其特征在于:
所述第一存储器(401)、第二存储器(402)用于存储蝶形组数据,所述第三存储器(403)用于存储与蝶形组数据对应的旋转因子;
所述蝶形计算装置(404)的输入端分别与第三存储器(403)和第一选择器(407)的输出端相连接,根据从第一选择器(407)输出的蝶形组数据(422)和从第三存储器(403)输出的与该蝶形组数据对应的旋转因子,完成一个蝶形组的计算,并将计算结果写回第一存储器(401)或第二存储器(402);
所述状态控制单元(405)用于根据当前计算节和计算级,生成第一、第二和第三存储器(401-403)的读写地址和读写控制信号;
所述数据反序网络(406)用于蝶形组组内数据的反序排列;
第一选择器(407)的两个输入端分别接收原始输入数据和经数据反序网络(406)位反序排列后的数据;如果当前处于计算节0,第一选择器(407)选择位反序排列后的数据,否则选择原始数据;
所述第一、第二和第三存储器(401-403)为多粒度并行存储器,均连接于所述状态控制单元(405)并接受状态控制单元(405)的读写控制。
2.如权利要求1所述的多粒度并行FFT计算装置,其特征在于,所述状态控制单元(405)包括第一计算器(408)、第二计算器(409)和第三计算器(410),分别用于计算当前计算节号s、当前逻辑Bank号i和当前存储行号j。
3.如权利要求2所述的多粒度并行FFT计算装置,其特征在于,所述状态控制单元(405)还包括第一地址产生单元(411)、第二地址产生单元(412)和第三地址产生单元(413),分别用于产生旋转因子读取地址、数据写地址和数据读地址。
4.如权利要求3所述的多粒度并行FFT计算装置,其特征在于,
所述第一地址产生单元(411)根据第一、第二、第三计算器(408-410)分别计算得到的当前计算节号s、当前逻辑Bank号i和当前存储行号j产生旋转因子读取地址(429),并将该地址输出到第三存储器(403)。
5.如权利要求3所述的多粒度并行FFT计算装置,其特征在于,
所述第二地址产生单元(412)根据第二、第三计算器(409、410)分别计算得到的当前逻辑Bank号i和当前存储行号j产生数据写地址(431),并输出到地址分发器(416)。
6.如权利要求3所述的多粒度并行FFT计算装置,其特征在于,
所述状态控制单元(405)还包括第二选择器(415)和地址分发器(416);
所述第三地址产生单元(413)根据第二、第三计算器(409、410)分别计算得到的当前逻辑Bank号i和当前存储行号j产生数据读地址(430),并输出到地址反序逻辑(414)和第二选择器(415);
所述第二选择器(415)的输入端分别接收原始读地址和经过位反序后的读地址,并根据当前计算节号s进行选择,以输出到地址分发器(416)。
7.如权利要求6所述的多粒度并行FFT计算装置,其特征在于,
如果当前处理计算节号为0,则该第二选择器(415)选择位反序后的读地址,否则该第二选择器(415)选择原始读地址。
8.如权利要求7所述的多粒度并行FFT计算装置,其特征在于,
所述地址分发器(416)根据当前计算节号s的值确定读地址输出到第一存储器(401)还是第二存储器(402),以及确定写地址(430)输出到第一存储器(401)还是第二存储器(402)。
CN201110459907.0A 2011-12-31 2011-12-31 多粒度并行fft计算装置 Active CN102411557B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110459907.0A CN102411557B (zh) 2011-12-31 2011-12-31 多粒度并行fft计算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110459907.0A CN102411557B (zh) 2011-12-31 2011-12-31 多粒度并行fft计算装置

Publications (2)

Publication Number Publication Date
CN102411557A CN102411557A (zh) 2012-04-11
CN102411557B true CN102411557B (zh) 2014-06-25

Family

ID=45913636

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110459907.0A Active CN102411557B (zh) 2011-12-31 2011-12-31 多粒度并行fft计算装置

Country Status (1)

Country Link
CN (1) CN102411557B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013097236A1 (zh) * 2011-12-31 2013-07-04 中国科学院自动化研究所 多粒度并行fft计算装置
CN103634241B (zh) * 2012-08-28 2017-06-20 北京信威通信技术股份有限公司 一种支持多模式的并行fft信号处理器及方法
CN109753629B (zh) * 2017-11-07 2023-05-12 上海思朗科技有限公司 多粒度并行fft计算装置
CN112822139B (zh) * 2021-02-04 2023-01-31 展讯半导体(成都)有限公司 数据输入、数据转换方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101231632A (zh) * 2007-11-20 2008-07-30 西安电子科技大学 应用fpga进行浮点fft处理的方法
CN101290613A (zh) * 2007-04-16 2008-10-22 卓胜微电子(上海)有限公司 Fft处理器的数据存储系统和方法
CN101339546A (zh) * 2008-08-07 2009-01-07 那微微电子科技(上海)有限公司 地址映射方法和操作数并行的fft处理系统
CN101404550A (zh) * 2008-07-08 2009-04-08 宁波中科集成电路设计中心有限公司 一种drm接收机中基于正交频分复用的解调器
CN101571849A (zh) * 2008-05-04 2009-11-04 中兴通讯股份有限公司 一种快速傅立叶变换处理器及其方法
CN101847986A (zh) * 2009-03-27 2010-09-29 中兴通讯股份有限公司 一种实现fft/ifft变换的电路及方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101290613A (zh) * 2007-04-16 2008-10-22 卓胜微电子(上海)有限公司 Fft处理器的数据存储系统和方法
CN101231632A (zh) * 2007-11-20 2008-07-30 西安电子科技大学 应用fpga进行浮点fft处理的方法
CN101571849A (zh) * 2008-05-04 2009-11-04 中兴通讯股份有限公司 一种快速傅立叶变换处理器及其方法
CN101404550A (zh) * 2008-07-08 2009-04-08 宁波中科集成电路设计中心有限公司 一种drm接收机中基于正交频分复用的解调器
CN101339546A (zh) * 2008-08-07 2009-01-07 那微微电子科技(上海)有限公司 地址映射方法和操作数并行的fft处理系统
CN101847986A (zh) * 2009-03-27 2010-09-29 中兴通讯股份有限公司 一种实现fft/ifft变换的电路及方法

Also Published As

Publication number Publication date
CN102411557A (zh) 2012-04-11

Similar Documents

Publication Publication Date Title
CN102541774B (zh) 多粒度并行存储系统与存储器
CN107301455B (zh) 用于卷积神经网络的混合立方体存储系统及加速计算方法
US9176929B2 (en) Multi-granularity parallel FFT computation device
CN107590085B (zh) 一种具有多级缓存的动态可重构阵列数据通路及其控制方法
CN100538886C (zh) 多维数组在动态随机存取存储器上的快速读写方法和装置
CN102541749B (zh) 多粒度并行存储系统
CN104699631A (zh) Gpdsp中多层次协同与共享的存储装置和访存方法
CN103810111A (zh) 有源存储器件中的地址生成的方法及其处理元件
CN102411557B (zh) 多粒度并行fft计算装置
US9317481B2 (en) Data access method and device for parallel FFT computation
CN103744644A (zh) 采用四核结构搭建的四核处理器系统及数据交换方法
CN102508803A (zh) 一种矩阵转置存储控制器
CN102141974A (zh) 一种多核处理器核间通信方法及其电路结构
GB2380291A (en) High level synthesis method for generating circuit including threads
CN101320344B (zh) 一种多核或众核处理器功能验证设备及方法
CN103955447A (zh) 基于dsp芯片的fft加速器
US9262378B2 (en) Methods and devices for multi-granularity parallel FFT butterfly computation
CN101441616B (zh) 基于寄存器文件的快速数据交换结构及其管理方法
CN104679670A (zh) 一种面向fft和fir的共享数据缓存结构及管理方法
CN102541813B (zh) 一种多粒度并行fft蝶形计算的方法及相应的装置
CN109614145A (zh) 一种处理器核心结构及数据访存方法
US9268744B2 (en) Parallel bit reversal devices and methods
CN103034621B (zh) 基2×k并行fft架构的地址映射方法及系统
CN108572787A (zh) 一种数据存储、读取的方法及装置
CN102411491B (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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20171211

Address after: 102412 Beijing City, Fangshan District Yan Village Yan Fu Road No. 1 No. 11 building 4 layer 402

Patentee after: Beijing Si Lang science and Technology Co.,Ltd.

Address before: 100190 Zhongguancun East Road, Beijing, No. 95, No.

Patentee before: Institute of Automation, Chinese Academy of Sciences

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 201306 building C, No. 888, Huanhu West 2nd Road, Lingang New District, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai

Patentee after: Shanghai Silang Technology Co.,Ltd.

Address before: 102412 room 402, 4th floor, building 11, No. 1, Yanfu Road, Yancun Town, Fangshan District, Beijing

Patentee before: Beijing Si Lang science and Technology Co.,Ltd.