发明名称 一种1-D/2-D混合架构FFT处理器
摘要 本发明公开了一种1-D/2-D混合架构FFT处理器,其特征在于:处理器采用一维FFT运算模式进行32点到8K点的任意2<sup>n</sup>点32位单精度浮点数的FFT或IFFT运算,采用二维FFT运算模式进行16K点32位单精度浮点数的FFT或IFFT运算,实现任意2<sup>n</sup>点(n=5,6…14)单精度浮点数FFT/IFFT运算。本发明FFT处理器采用一维二维混合的模式对数据进行FFT或IFFT运算,综合考虑了FFT运算速度、存储资源消耗以及灵活性,集成了一维FFT处理器运算速度快及二维FFT处理器存储资源少的优点,达到了速度和资源之间的均衡。
申请公布号 CN103699517B 申请公布日期 2016.06.29
申请号 CN201410023273.8 申请日期 2014.01.17
申请人 合肥工业大学 发明人 张多利;黄路;杜高明;宋宇鲲;贾靖华
分类号 G06F17/14(2006.01)I 主分类号 G06F17/14(2006.01)I
代理机构 安徽省合肥新安专利代理有限责任公司 34101 代理人 何梅生
主权项 一种1‑D/2‑D混合架构FFT处理器,其特征在于:所述处理器包括控制器、存储系统、数据交换网络、数据传输单元及FFT运算单元;所述控制器用于控制数据传输单元和FFT运算单元;所述存储系统包括2组4*2K片上数据存储器和3组4*32临时储存器,2组4*2K片上数据存储器和3组4*32临时储存器采用简单双口RAM;所述数据交换网络包括内存储控制单元、外存储控制单元及多路选择器;所述内存储控制单元用于对2组4*2K片上数据存储器和3组4*32临时储存器进行地址分配和管理,并为FFT运算单元和数据传输单元访问5组数据存储器提供统一接口;所述外存储控制单元为数据传输单元访问2组4*2K片上数据存储器提供统一接口;所述多路选择器用于选择内存储控制单元或外存储控制单元进行访问2组4*2K片上数据存储器;所述数据传输单元用于完成2组4*2K片上数据存储器和3组4*32临时储存器之间的数据传输,实现实时行或列数据搬运,为FFT运算单元提供将要进行的行或列FFT运算操作数,并把FFT运算单元计算结果传回2组4*2K片上数据存储器中;所述FFT运算单元用于实现数据的FFT或IFFT运算;所述处理器集成一维和二维混合FFT处理模式,在进行32点到8K点的任意2<sup>n</sup>点32位单精度浮点数的FFT或IFFT运算时采用一维FFT运算模式,在进行16K点32位单精度浮点数的FFT或IFFT运算时采用二维FFT运算模式;所述处理器按如下一维FFT运算模式进行32点到8K点的任意2<sup>n</sup>点32位单精度浮点数的FFT或IFFT运算:2组4*2K片上数据存储器进行乒乓操作,通过控制器依次配置为操作数存储器组和运算结果存储器组,FFT运算单元通过内存储控制单元和多路选择器同时访问操作数存储器组和运算结果存储器组,每个时钟周期从操作数存储器组并行读取4个操作数进行FFT或IFFT运算,同时产生4个中间运算结果写入运算结果存储器组;FFT运算完一级,2组4*2K片上数据存储器进行一次乒乓操作,操作数存储器组和运算结果存储器组相互切换;经过n级乒乓操作获得最终结果数据;所述处理器按如下二维FFT运算模式进行16K点32位单精度浮点数的FFT或IFFT运算:两组4*2K片上数据存储器作为16K缓存,组成128*128的矩阵;3组4*32临时储存器进行内外乒乓操作,通过控制器依次配置为操作数存储器组、运算结果存储器组及数据传输存储器组;所述数据传输单元通过外存储控制单元及多路选择器,每个时钟周期并行读取16K缓存矩阵第一列或行2个原始数据,再通过内存储控制单元写入数据传输存储器组,完成第一列或行128个数据传输;第一列或行数据传输完成后,操作数存储器组、运算结果存储器组及数据传输存储器组进行一次外乒乓操作,将数据传输存储器组变为操作数存储器组,将操作数存储器组变为运算结果存储器组,将运算结果存储器组变为数据传输存储器组;数据传输单元读取第二列或行原始数据,并写入数据传输存储器组,在数据传输的同时,FFT运算单元每个时钟周期从操作数存储器组并行读取4个操作数,产生4个结果数据写进运算结果存储器组;操作数存储器组与运算结果存储器组进行内乒乓操作完成第一列或行FFT或IFFT运算;在上一列或行FFT或IFFT运算完成时,3组4*32临时储存器再进行一次外乒乓操作,相互切换;所述数据传输单元通过外存储控制单元每个时钟周期并行读取2个上一列或行FFT运算结果,再通过外存储控制单元及多路选择器写入16K缓存矩阵相应的列或行;然后所述数据传输单元通过外存储控制单元及多路选择器,每个时钟周期并行读取下一列或行2个原始数据,再通过内存储控制单元写入数据传输存储器组;在数据传输的同时,FFT运算单元对操作数存储器组与运算结果存储器组进行内乒乓操作完成本列或行FFT或IFFT运算;下一时刻,操作数存储器组、运算结果存储器组及数据传输存储器组进行一次外乒乓操作,直至完成所有一维列或行FFT或IFFT运算;控制器协调数据传输单元和FFT运算单元进行有序工作,依次完成所有组列或行的FFT或IFFT运算,最终完成16K点32位单精度浮点数的FFT或IFFT运算。
地址 230009 安徽省合肥市包河区屯溪路193号