CN105224505B - 基于矩阵转置操作的fft加速器装置 - Google Patents
基于矩阵转置操作的fft加速器装置 Download PDFInfo
- Publication number
- CN105224505B CN105224505B CN201510719158.9A CN201510719158A CN105224505B CN 105224505 B CN105224505 B CN 105224505B CN 201510719158 A CN201510719158 A CN 201510719158A CN 105224505 B CN105224505 B CN 105224505B
- Authority
- CN
- China
- Prior art keywords
- fft
- transposition
- data
- matrix
- row
- 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
Links
Abstract
一种基于矩阵转置操作的FFT加速器装置,其包括:FFT加速器控制,用来控制逻辑完成批量1维FFT运算的控制,给总线控制器发送读写控制参数,协调FFT‑PE之间的计算与数据传递;总线控制器,用来根据FFT加速器控制模块的参数,产生读/写DDR存储器或片内SMC存储器的控制信号;FFT计算阵列,包括两个单存储器结构的FFT‑PE,即FFT_PE1和FFT_PE2,用来实现批量1维FFT算法的计算;数据通路和命令通路异步处理单元,用来负责将TeraNet数据主机端口协议转换为内部DMA总线协议,将TeraNet命令从机端口协议转换为内部Pbus总线协议。本发明具有实现简单、效率高、适用面广等优点。
Description
技术领域
本发明主要涉及到微处理器结构与芯片设计领域,特指一种基于矩阵转置操作的FFT加速器,以实现大规模FFT计算。
背景技术
快速傅立叶变换FFT(Fast Fourier Transformation)是离散傅里叶变换DFT(Discrete Fourier Transformation)的一种快速实现方法,利用复指数常数的周期性、共轭对称性和可约性的特性,将信号序列x(n)的排列次序按规律重排,最终分解成一些短序列进行运算。FFT的计算复杂度由DFT算法的O(n2)降低到O(nlogn)。FFT的出现使得DFT在理论分析和现实生活中得到了更广泛的应用。在理论计算和分析上,FFT算法应用于频谱分析、快速卷积、快速相关、大整数乘法计算等,同时FFT是数字信号处理领域不可缺少的工具之一,它将一种信号从时域变换到频域,从而在频域上能够容易分析出信号的相关特征。在信号处理领域,FFT应用到数字通信、语音信号处理、图像处理、功率谱估计、雷达领域等。
然而,在某些特殊场合,要求的信号处理速度极高,对FFT算法的性能、功耗和效率都提出更高要求,使用通用的数字信号处理器(DSP)芯片或者CPU芯片很难满足上述需求。因此,在一些DSP芯片上集成了专用于FFT算法的硬件单元,这种芯片将相应的FFT处理算法使用定制专用逻辑实现,无需进行编程,例如TI C55X系列DSP芯片包含一个紧耦合FFT加速器(称为HWAFFT),通过使用加速器指令实现FFT加速器与C55X DSP通讯,支持32位定点格式8点到1024点的实数和复数FFT计算。由于该FFT加速器仅能支持的最大规模为1K点,这限制了该FFT加速器应用范围。
由于FFT计算过程中,需要对所有数据进行交叉访问,而且数据访问是以原位方式进行(即每级FFT运算的初始数据和计算结果在数据存储器的位置相同,这样可以节省存储资源)。因此,在FFT加速器中,内部存储器存储至少需要存储整行的数据,即内部存储容量正比于FFT加速器直接支持的最大规模。对于支持1M点FFT加速器,FFT加速器内部存储器容量最少需要8MB,这需要占用非常大的芯片面积。
通常,FFT加速器中采取一种折中方式来实现大规模FFT算法——Cooley-Tukey算法,将大规模一维数据视为一个二维数据矩阵,然后再对数据进行列方向FFT、行方向FFT及因子补充操作。这种方法将大规模FFT计算转换为两个批量小规模FFT计算,但是计算过程中需要对数据矩阵进行列方向和行方向数据访问,而存储器(如DDR等)或数据通路协议(AXI协议)的突发访问特点导致对数据矩阵的列方向访问的存储带宽利用率非常低,从而列方向FFT的计算效率无法发挥。如采用DSP芯片内SRAM存储器的随机访问的优势,实现无矩阵转置操作的FFT加速器,这是一种平衡数据矩阵行访问和列访问的访问速度,从而整体上提升存储带宽利用率,然而,这种方式会降低数据矩阵行访问速度,同时,片内SRAM的存储容量和速度也将对FFT性能产生较大影响。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种实现简单、效率高、适用面广的基于矩阵转置操作的FFT加速器装置。
为解决上述技术问题,本发明采用以下技术方案:
一种基于矩阵转置操作的FFT加速器装置,其包括:
FFT加速器控制,用来控制逻辑完成批量1维FFT运算的控制,给总线控制器发送读写控制参数,协调FFT-PE之间的计算与数据传递;
总线控制器,用来根据FFT加速器控制模块的参数,产生读/写DDR存储器或片内SMC存储器的控制信号;
FFT计算阵列,包括两个单存储器结构的FFT-PE,即FFT_PE1和FFT_PE2,用来实现批量1维FFT算法的计算;
数据通路和命令通路异步处理单元,用来负责将TeraNet数据主机端口协议转换为内部DMA总线协议,将TeraNet命令从机端口协议转换为内部Pbus总线协议;同时,还完成系统时钟频率域和FFT时钟频率域的异步对接。
作为本发明的进一步改进:每个所述FFT-PE内部设置两组数据存储器,用来完成初始数据读、计算结果写与FFT计算之间的“乒乓”操作。
作为本发明的进一步改进:所述两个FFT-PE单元以循环方式接收来自存储器的数据,进行FFT计算,并将计算结果写入到存储器。
作为本发明的进一步改进:对于规模超过1K点的FFT,所述FFT计算阵列采用Cooley-Tukey策略来实现;所述Cooley-Tukey策略采用分而治之的方式,初始数据和计算结果放在存储容量较大的DDR存储器或片内存储器SMC中,使用二维FFT模拟实现规模大规模一维FFT。
作为本发明的进一步改进:所述Cooley-Tukey策略的流程包括:
列矩阵转置:对初始数据进行矩阵转置操作,结果存储到中间地址1指定的存储空间中;
列FFT计算:对中间地址1的数据进行列方向FFT,结果仍写回到中间地址1指定的存储空间,补偿因子计算集成到列FFT计算过程,视为一级FFT蝶形计算;
行矩阵转置:对中间地址1存储的列FFT计算结果进行矩阵转置,结果存储到中间地址2指定的存储空间中;
行FFT计算:对中间地址2的数据进行列方向FFT,结果仍写回到中间地址2指定的存储空间;
结果矩阵转置:对中间地址2存储的行FFT计算结果进行矩阵转置,将最终结果存储到指定的存储空间中。
作为本发明的进一步改进:在进行矩阵转置操作时采用分块矩阵转置策略,即:
S1:将原始N1*N2矩阵分解若干基本块,通过一次按行读和按列写操作完成基本块转置;
S2:再以基本块为元素,对基本块矩阵进行转置,实现整个矩阵的转置;基本块矩阵转置通过控制基本块转置的读、写地址完成;
S3:采用“乒乓”结构实现不同基本块的读操作时间和写操作时间重叠,AXI数据通路的读通路与写通路完全分开。
与现有技术相比,本发明的优点在于:本发明的基于矩阵转置操作的FFT加速器装置,通过复用FFT加速器内部的数据存储器来实现基本数据块矩阵的转置,然后通过读、写地址的控制实现基本块矩阵转置。该方法具有实现简单、效率高、适用面广的优点,通过复用FFT加速器资源,增加简单的DMA控制逻辑就可以实现;以突发方式访问基本数据块矩阵、基本块转置之间采用读和写重叠方式来提高存储带宽利用率;该方法不再受DSP片内SRAM的存储容量和速度的限制,对于提供两个独立的基于突发访问的读通路和写通路的体系结构就可以应用本发明设计的FFT加速器。为此,本发明能够解决基于Cooley-Tukey算法的大规模FFT计算过程对数据矩阵行访问和列访问导致存储带宽利用率不高的问题。
附图说明
图1是本发明的拓扑结构示意图。
图2是本发明在具体应用实例中进行小规模FFT交叉存储执行的示意图。
图3是本发明在具体应用实例中进行大规模FFT交叉存储执行的示意图。
图4是本发明在具体应用实例中基本矩阵转置的数据组织方式的示意图。
图5是本发明在具体应用实例中进行块矩阵转置组织方式的示意图。
图6是本发明在具体应用实例中块矩阵转置时空示意图。
图7是本发明在具体应用实例中FFT加速器控制状态转换的示意图。
具体实施方式
以下将结合说明书附图和具体实施例对本发明做进一步详细说明。
如图1所示,本发明的基于矩阵转置操作的FFT加速器装置,包括:
FFT加速器控制,用来控制逻辑完成批量1维FFT运算的控制,给总线控制器发送读写控制参数,协调FFT-PE之间的计算与数据传递;
总线控制器,用来根据FFT加速器控制模块的参数,产生读/写DDR存储器或片内SMC存储器的控制信号;
FFT计算阵列,由两个单存储器结构的FFT-PE组成(FFT_PE1和FFT_PE2),实现批量1维FFT算法的计算,每个FFT-PE内部设置两组数据存储器,实现初始数据读、计算结果写与FFT计算之间的“乒乓”操作。两个FFT-PE单元以循环方式接收来自存储器的数据,进行FFT计算,并将计算结果写入到存储器;
数据通路和命令通路异步处理单元,用来负责将TeraNet数据主机端口协议转换为内部DMA总线协议,将TeraNet命令从机端口协议转换为内部Pbus总线协议;同时,还完成系统时钟频率域和FFT时钟频率域的异步对接。
本发明的可配置FFT加速器能够完成可变规模的FFT运算(FFT规模N要求为2的幂次方,且满足N≤220),根据FFT规模,将所支持的FFT运算分为小规模FFT(不超过1K点)和大规模FFT(1K点至1M点)。
本发明的FFT-PE直接支持规模不超过1K点FFT计算,因此,对于小规模FFT运算,本发明直接采用原始算法来完成。如图2所示,依次从SMC或DDR存储器读取1K点数据放到FFT-PE1或FFT-PE2,等执行完成后,再将结果写入到指定位置。
在FFT加速器设计中,至少需要将一行数据存储到加速器内部数据寄存器中,因此,本发明的FFT加速器所需存储容量随FFT规模的增大而线性增加,存储容量将成为大规模FFT加速器设计的主要限制。
对于大规模FFT(对于规模超过1K点FFT),本发明采用Cooley-Tukey策略来实现。Cooley-Tukey算法采用分而治之的思想,初始数据和计算结果放在存储容量较大的DDR存储器或片内存储器SMC中,使用二维FFT模拟实现规模大规模一维FFT(N≥2K且N=N1*N2),计算步骤如下:
步骤1:列方向FFT计算:进行N2次的N1点FFT运算,执行N2次:
步骤2:补偿旋转因子计算:步骤1的结果乘以补偿旋转因子
步骤3:行方向FFT计算:在步骤2的基础上,进行N1次的N2点FFT运算,执行N1次:
如图3所示,基于Cooley-Tukey策略的大规模FFT计算包含3次矩阵转置和2次批量小规模FFT计算,执行过程如下:
列矩阵转置:对初始数据进行矩阵转置操作,结果存储到中间地址1指定的存储空间中(存储需要为8N字节);
列FFT计算:对中间地址1的数据进行列方向FFT,结果仍写回到中间地址1指定的存储空间,补偿因子计算集成到列FFT计算过程,视为一级FFT蝶形计算;
行矩阵转置:对中间地址1存储的列FFT计算结果进行矩阵转置,结果存储到中间地址2指定的存储空间中(存储需要为8N字节);
行FFT计算:对中间地址2的数据进行列方向FFT,结果仍写回到中间地址2指定的存储空间;
结果矩阵转置:对中间地址2存储的行FFT计算结果进行矩阵转置,将最终结果存储到指定的存储空间中。
在上述过程中,FFT顶层通过TeraNet AXI主机接口以突发方式访问数据,FFT加速器所支持的矩阵转置是将该操作转换为若干突发访问。
由于FFT加速器内部设置了多个数据存储器来存储若干行小规模FFT数据,而3次矩阵转置操作与2次批量FFT计算是严格串行的,因此,可以利用这些数据存储器来加速矩阵转置操作。
为此,本发明进一步提出一种分块矩阵转置策略,即:
S1:将原始N1*N2矩阵分解若干基本块(基本块通常设置为方阵),通过一次按行读和按列写操作完成基本块转置;
S2:再以基本块为元素,对基本块矩阵进行转置,实现整个矩阵的转置;基本块矩阵转置通过控制基本块转置的读、写地址完成;
S3:采用“乒乓”结构实现不同基本块的读操作时间和写操作时间重叠,充分利用AXI数据通路的读通路与写通路完全分开,可以重叠读操作和写操作的优势。
由于每个FFT-PE内部能存储2K点数据,而基本矩阵设置为方阵,因此,本发明进一步将矩阵转置的基本块设置为32*32点(每个点的数据为64位),使用每个FFT-PE多体存储器中的第一组来实现,两个FFT-PE以“乒乓”方式完成整个矩阵的转置。
在本实施例中,FFT-PE每组数据存储器由4个存储体组成,基本矩阵转置的数据存储方式如图4所示。
S100:以行的顺序连续读取1K点的数据,并以体交叉方式存储到4个存储体中,即每4个连续的数据组成256位,这4点数据同时写入到4个存储体中的相同位置。基本矩阵中相邻行相同序号的数据存储到不同存储体内,这样保证按列读取时能同时取出相邻4行相同位置数据。对于任意数据i={Row[4:0],Col[4:0]},则数据写入的存储体和体内地址为:
■存储体:Num_Bank[1:0]=(Col[1:0]+Row[1:0])%4
■存储体地址:Addr_Bank[8:0]=N/4={Row[4:0],Col[4:2]}
S200:以列的顺序连续将数据从FFT-PE中读出,并组成256位的DMA突发,写入到存储器中。
块矩阵转置如图5所示,对于规模为N的FFT计算(N>1K),N点的一维数据可视为二维矩阵(1024*R)*(1024*C),其中R和C是一个可配置的参数,且保证R>0、C>0。对于任意基本块B[i][j](i<C,j<R),转置后的位置位于[j][i]。假定初始数据矩阵起始地址为A_I,转换后数据矩阵起始地址为A_R,则矩阵中任意一个数据(序号为i,i<N)在目标矩阵中的位置为:
则行列位置:NC=i%(1024*C)
基本块的行列位置:
基本块内的行列位置:
NEC=NC%1024=(i%(1024*C))%1024
矩阵转置后对应的地址位置:
Addr_Trans[i]=A_R+1024*C*(1024*NBC+NEC)+1024*NBR+NER
如图6所示,基本块矩阵转置采用“乒乓”方式重叠读、写时间开销,首先以行块的顺序读取基本块,以列块顺序写入到目标地址中,除第一个基本块的读和最后一个基本块的写不能重叠外,其余的都能重叠,最大化利用AXI读、写通路的数据带宽。
在具体应用实例中,多体数据存储器具体如下:
1、存储体个数需求:2个蝶形运算部件同时并行执行,蝶形运算部件采用全流水的设计方法,则数据存储体至少需要4个读端口和4个写端口。通常设计中能提供双端口存储器,因此数据存储器的存储体个数为4个。
2、存储器的数据组织:存储器的数据以体低位地址交叉方式进行组织,如图4所示,最大限度将同时访问的数据存储在不同存储体中。
3、存储体读写端口冲突处理:
对于不同FFT计算级数,相计算的两个数据的间隔不相同,数据所在的存储体位置也不相同,因此,需要根据不同级数中存储体冲突情况来实施不同策略:
规律:(1)对于第i级FFT运算,同一蝶形操作的两个数据间隔为2i-1;(2)FFT是原位运算,即参与蝶形运算数据的原始位置和计算结果位置相同。
访问策略:
第1级和第2级来说,数据间隔为1和2,即这两个数据存储在不同的存储体中,每个存储体的两个端口设置为一个读端口和一个写端口,同时从两个不同存储体中的读端口中读取数据,蝶形运算结果通过各自写端口写入的各自存储体中。
对于i≥3,数据间隔大小于4,即这两个数据存储在同一存储体中,因此,只能通过该存储体的两个端口同时读才能完成,对于结果,需要将两个端口设置为写端口,同时写完成,如果以全流水方式执行的话,会出现读写端口冲突问题。注意到,4个存储体中,两个存储体在进行读操作时,另两个存储体处于空闲,采用存储体交叉方式流水读取数据,然后,再以交叉方式将数据写入,即每个存储体在每个时钟周期要么是在读数据要么是在写结果。
如图7所示,为在具体应用实例中FFT加速器状态控制示意图。根据FFT的计算规模,FFT加速器状态控制器分为两个部分:批量小规模FFT计算过程和大规模FFT计算过程,其中大规模FFT计算过程中需要两次调用批量小规模FFT计算。具体流程如下。
状态S0:控制状态处于空闲状态,等待启动命令(Startup_FFT)。
状态S1:判读FFT规模,当Size>1K时,为大规模FFT计算,跳转到状态S2-1,否则为小规模FFT计算,跳转到状态S2。
状态S2:对批量小规模FFT计算进行相应配置,同时设置批量小规模FFT启动入口Entry为0,当批量小规模FFT计算完成后根据Entry选择相应的出口。
状态S3:启动批量小规模FFT计算,根据配置的参数启动DMA控制状态机和FFT计算阵列,利用FFT加速器内部的多重并行性和计算与数据通信重叠等方法来快速完成批量小规模FFT计算。
状态S4:等待批量小规模FFT完全信号有效(即SFFT_Done=1),然后根据入口Entry选择合适出口。
●当Entry=0时,进行小规模FFT计算,状态机跳转到状态S5;
●当Entry=1时,进行大规模FFT中列FFT计算,接下来需要进行行FFT变换相应处理,状态机跳转到状态S2-5;
●当Entry=2时,进行大规模FFT中行FFT计算,接下来需要进行结果矩阵转置,状态机跳转到状态S2-8;
状态S4:等待批量小规模FFT完全信号有效(即SFFT_Done=1),然后根据入口Entry选择合适出口。
状态S2-1:配置本次大规模FFT计算相关参数,如数据起始地址、结果起始地址、中间地址1、中间地址2、FFT计算类型等。
状态S2-2:启动列矩阵转置,配置DMA矩阵转置所需规模、数据起始地址、中间地址1等。
状态S2-3:等待列矩阵转置完成,转置后的数据存放在中间地址1中,完成后跳转到状态S3。
状态S2-4:将列方向FFT视为批量小规模FFT计算,配置相应参数寄存器,同时设置批量小规模FFT启动入口Entry为1,列FFT计算过程中,将补偿因子计算视为FFT计算的最后一级集成到批量小规模FFT计算中。列FFT计算结果存放在中间地址1中。
状态S2-5:启动行矩阵转置,配置DMA矩阵转置所需规模、中间地址1、中间地址2等,矩阵转置将中间地址1中列FFT计算结果转置后存放到中间地址2指定的存储空间中。
状态S2-6:等待行矩阵转置完成,转置后的数据存放在中间地址2指定的存储空间中。
状态S2-7:将行方向FFT视为批量小规模FFT计算,配置相应参数寄存器,同时设置批量小规模FFT启动入口Entry为2。行FFT计算结果存放在中间地址2中,完成后跳转到状态S3。
状态S2-8:启动结果矩阵转置,配置DMA矩阵转置所需规模、中间地址2、结果地址等,矩阵转置将中间地址2中行FFT计算结果转置后存放到结果地址指定的存储空间中。
状态S2-9:等待结果矩阵转置完成。
状态S2-10:判读大规模FFT计算是否完成,即Cnt_BFFT=Num_FFT,如果没完成,则更新数据起始地址、结果起始地址等参数,然后跳转到状态S2-1,重新执行下一个大规模FFT计算;否则,跳转到状态S5。
状态S5:FFT计算完成并向DSP内核发送完成中断,控制状态机跳转到空闲状态S0。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。
Claims (4)
1.一种基于矩阵转置操作的FFT加速器装置,其特征在于,包括:
FFT加速器控制,用来控制逻辑完成批量1维FFT运算的控制,给总线控制器发送读写控制参数,协调FFT-PE之间的计算与数据传递;
总线控制器,用来根据FFT加速器控制模块的参数,产生读/写DDR存储器或片内SMC存储器的控制信号;
FFT计算阵列,包括两个单存储器结构的FFT-PE,即FFT_PE1和FFT_PE2,用来实现批量1维FFT算法的计算;
数据通路和命令通路异步处理单元,用来负责将TeraNet数据主机端口协议转换为内部DMA总线协议,将TeraNet命令从机端口协议转换为内部Pbus总线协议;同时,还完成系统时钟频率域和FFT时钟频率域的异步对接;
对于规模超过1K点的FFT,所述FFT计算阵列采用Cooley-Tukey策略来实现;所述Cooley-Tukey策略采用分而治之的方式,初始数据和计算结果放在存储容量较大的DDR存储器或片内存储器SMC中,使用二维FFT模拟实现大规模一维FFT;
所述Cooley-Tukey策略的流程包括:
列矩阵转置:对初始数据进行矩阵转置操作,结果存储到中间地址1指定的存储空间中;
列FFT计算:对中间地址1的数据进行列方向FFT,结果仍写回到中间地址1指定的存储空间,补偿因子计算集成到列FFT计算过程,视为一级FFT蝶形计算;
行矩阵转置:对中间地址1存储的列FFT计算结果进行矩阵转置,结果存储到中间地址2指定的存储空间中;
行FFT计算:对中间地址2的数据进行列方向FFT,结果仍写回到中间地址2指定的存储空间;
结果矩阵转置:对中间地址2存储的行FFT计算结果进行矩阵转置,将最终结果存储到指定的存储空间中。
2.根据权利要求1所述的基于矩阵转置操作的FFT加速器装置,其特征在于,每个所述FFT-PE内部设置两组数据存储器,用来完成初始数据读、计算结果写与FFT计算之间的“乒乓”操作。
3.根据权利要求2所述的基于矩阵转置操作的FFT加速器装置,其特征在于,所述两个FFT-PE单元以循环方式接收来自存储器的数据,进行FFT计算,并将计算结果写入到存储器。
4.根据权利要求1所述的基于矩阵转置操作的FFT加速器装置,其特征在于,在进行矩阵转置操作时采用分块矩阵转置策略,即:
S1:将原始N1*N2矩阵分解若干基本块,通过一次按行读和按列写操作完成基本块转置;
S2:再以基本块为元素,对基本块矩阵进行转置,实现整个矩阵的转置;基本块矩阵转置通过控制基本块转置的读、写地址完成;
S3:采用“乒乓”结构实现不同基本块的读操作时间和写操作时间重叠,AXI数据通路的读通路与写通路完全分开。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510719158.9A CN105224505B (zh) | 2015-10-29 | 2015-10-29 | 基于矩阵转置操作的fft加速器装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510719158.9A CN105224505B (zh) | 2015-10-29 | 2015-10-29 | 基于矩阵转置操作的fft加速器装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105224505A CN105224505A (zh) | 2016-01-06 |
CN105224505B true CN105224505B (zh) | 2018-05-25 |
Family
ID=54993484
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510719158.9A Active CN105224505B (zh) | 2015-10-29 | 2015-10-29 | 基于矩阵转置操作的fft加速器装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105224505B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106021182B (zh) * | 2016-05-17 | 2018-11-30 | 华中科技大学 | 一种基于二维fft处理器的行转置架构设计方法 |
US10330773B2 (en) * | 2016-06-16 | 2019-06-25 | Texas Instruments Incorporated | Radar hardware accelerator |
CN107844322B (zh) * | 2017-07-20 | 2020-08-04 | 上海寒武纪信息科技有限公司 | 用于执行人工神经网络正向运算的装置和方法 |
US10853446B2 (en) | 2018-06-15 | 2020-12-01 | Apple Inc. | Methods and systems for complexity reduction in discrete Fourier transform computations |
CN110147222B (zh) * | 2018-09-18 | 2021-02-05 | 安徽寒武纪信息科技有限公司 | 运算装置及方法 |
CN109858472B (zh) * | 2019-04-09 | 2023-08-04 | 武汉领普科技有限公司 | 一种嵌入式实时人形检测方法和装置 |
CN112163187B (zh) * | 2020-11-18 | 2023-07-07 | 无锡江南计算技术研究所 | 一种超长点数高性能fft计算装置 |
CN113973203A (zh) * | 2021-10-22 | 2022-01-25 | 上海济物光电技术有限公司 | 一种jpeg图像压缩加速方法 |
CN115168794B (zh) * | 2022-06-20 | 2023-04-21 | 深圳英智科技有限公司 | 一种基于改进dft的频谱分析方法、系统及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103955447A (zh) * | 2014-04-28 | 2014-07-30 | 中国人民解放军国防科学技术大学 | 基于dsp芯片的fft加速器 |
CN103955446A (zh) * | 2014-04-28 | 2014-07-30 | 中国人民解放军国防科学技术大学 | 基于dsp芯片的可变长度fft计算方法 |
CN104270643A (zh) * | 2014-09-25 | 2015-01-07 | 复旦大学 | 基于single-port SRAM的转置矩阵的地址映射算法 |
-
2015
- 2015-10-29 CN CN201510719158.9A patent/CN105224505B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103955447A (zh) * | 2014-04-28 | 2014-07-30 | 中国人民解放军国防科学技术大学 | 基于dsp芯片的fft加速器 |
CN103955446A (zh) * | 2014-04-28 | 2014-07-30 | 中国人民解放军国防科学技术大学 | 基于dsp芯片的可变长度fft计算方法 |
CN104270643A (zh) * | 2014-09-25 | 2015-01-07 | 复旦大学 | 基于single-port SRAM的转置矩阵的地址映射算法 |
Non-Patent Citations (1)
Title |
---|
Transpose-free variable-size FFT accelerator based on-chip SRAM;Lei Guo et al.;《IEICE Electronics Express》;20140704;第11卷(第15期);第1-8页 * |
Also Published As
Publication number | Publication date |
---|---|
CN105224505A (zh) | 2016-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105224505B (zh) | 基于矩阵转置操作的fft加速器装置 | |
KR102492477B1 (ko) | 행렬 곱셈기 | |
CN103955447B (zh) | 基于dsp芯片的fft加速器 | |
CN108241890B (zh) | 一种可重构神经网络加速方法及架构 | |
CN104915322B (zh) | 一种卷积神经网络硬件加速方法 | |
CN104699631B (zh) | Gpdsp中多层次协同与共享的存储装置和访存方法 | |
CN103955446B (zh) | 基于dsp芯片的可变长度fft计算方法 | |
JP2744526B2 (ja) | 準16基数プロセッサおよび方法 | |
Sheng et al. | HPC on FPGA clouds: 3D FFTs and implications for molecular dynamics | |
CN103049241B (zh) | 一种提高cpu+gpu异构装置计算性能的方法 | |
CN103699515B (zh) | 一种fft并行处理装置和方法 | |
JPH11161637A (ja) | 高速フーリエ変換を用いて短い待ち時間でアレイ処理を行う並列システム | |
CN103412284A (zh) | 基于dsp芯片的sar成像系统中矩阵转置方法 | |
WO2013097236A1 (zh) | 多粒度并行fft计算装置 | |
CN106933777B (zh) | 基于国产申威26010处理器的基2一维fft的高性能实现方法 | |
CN104699624A (zh) | 面向fft并行计算的无冲突存储访问方法 | |
CN107291666A (zh) | 一种数据处理方法及处理装置 | |
CN104679670B (zh) | 一种面向fft和fir的共享数据缓存结构及管理方法 | |
CN101894096A (zh) | 一种适用于cmmb和dvb-h/t的fft运算电路结构 | |
CN102710236A (zh) | 基于fpga的小波变换实现结构 | |
CN104268124B (zh) | 一种fft实现装置和方法 | |
CN104636315B (zh) | 面向gpdsp的矩阵lu分解向量化计算的方法 | |
CN107408076A (zh) | 数据处理装置 | |
CN103699355B (zh) | 一种变阶流水串行乘累加器 | |
CN103034621B (zh) | 基2×k并行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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |