[发明专利]一种基于FPGA的二维FFT加速器在审
申请号: | 201910159208.0 | 申请日: | 2019-03-04 |
公开(公告)号: | CN109948113A | 公开(公告)日: | 2019-06-28 |
发明(设计)人: | 陆生礼;庞伟;沈志源;吴成路;舒程昊 | 申请(专利权)人: | 东南大学;东南大学—无锡集成电路技术研究所 |
主分类号: | G06F17/14 | 分类号: | G06F17/14 |
代理公司: | 南京经纬专利商标代理有限公司 32200 | 代理人: | 葛潇敏 |
地址: | 214135 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 旋转因子 子缓存 图片缓存区 外部存储器 计算器 二维FFT 读取 缓存 计算子单元 总线接口 加速器 地址产生器 结果缓存区 地址读取 读取地址 复数乘法 缓存区 子单元 图片 送入 发送 图像 配置 | ||
1.一种基于FPGA的二维FFT加速器,其特征在于:包括MCU、图片缓存区、旋转因子缓存区、地址产生器、FFT计算器和结果缓存区;
MCU与外部存储器相连接,用于读取外部存储器的输入数据,并将FFT计算结果发送给外部存储器;
图片缓存区和旋转因子缓存区分别包含N个图片子缓存区和N个旋转因子子缓存区,用于缓存通过AXI4总线接口从MCU读取的图片和旋转因子数据;
地址产生器用于产生图片缓存区的读取地址,按照该地址读取图片缓存区中的数据送入FFT计算器;
FFT计算器采用FPGA实现,包含N个FFT计算子单元,每个计算子单元对应配置一个图片子缓存区和一个旋转因子子缓存区,每个计算子单元均用于完成复数乘法功能和四点FFT操作;
结果缓存区用于缓存FFT计算器处理后的计算结果,然后通过AXI4总线接口发送至MCU。
2.如权利要求1所述的一种基于FPGA的二维FFT加速器,其特征在于:所述图片缓存区和旋转因子缓存区由缓存控制器控制所有的sram的读写使能和地址操作,N个图片缓存区和N个旋转因子缓存区构成整个高并行的图片和旋转因子缓存区,数据以串行的方式写入缓存区,以并行的方式读出。
3.如权利要求1所述的一种基于FPGA的二维FFT加速器,其特征在于:所述地址产生器产生图片缓存区的读取地址,按照该地址以间隔N/4读取四个数据,并将四点FFT操作的结果按地址存入原先保存图片的初始地址。
4.如权利要求1所述的一种基于FPGA的二维FFT加速器,其特征在于:所述FFT计算器采用定点数计算器,待计算数据并行进入FFT计算器,依次进行一次复数乘法操作以及一次4点FFT计算,其中,一次复数计算包括四次乘法以及两次加减法操作;每一个FFT计算子单元配置两个DSP资源,利用两个时钟完成复数计算中的四个乘法操作,在第三个时钟完成两次加减法操作,然后利用地址产生器从图片缓存区获取每一级的N/4次四点FFT计算的数据。
5.如权利要求1所述的一种基于FPGA的二维FFT加速器,其特征在于:所述MCU与AXI4总线接口之间还设置直接存取控制器,数据的传输由该直接存取控制器提供数据流缓存,并将实部与虚部拼接成一个数据发送。
6.如权利要求1所述的一种基于FPGA的二维FFT加速器,其特征在于:还包括转置控制器,用于通过每个时钟控制不同数量的读写使能和读写地址,完成转置操作。
7.如权利要求6所述的一种基于FPGA的二维FFT加速器,其特征在于:所述转置控制器的工作方式是:完整的一次二维FFT需要进行2*log4N次转置操作,分为两次log4N级计算,每次计算从图片缓存区和旋转因子缓存区分别读出四个32位数据,对应相乘之后,进行四点FFT,然后按照顺序写入空白地址的图片缓存区;重复进行,得到按行计算的一维FFT结果,通过转置操作进行行列转换,在进行列方向的一维FFT运算,得到最终的二维FFT结果。
8.如权利要求6所述的一种基于FPGA的二维FFT加速器,其特征在于:还包括状态控制器,状态控制器控制整个二维FFT的流程,包括接收、缓存、四点FFT计算、转置、再缓存、发送结果以及等待接收。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东南大学;东南大学—无锡集成电路技术研究所,未经东南大学;东南大学—无锡集成电路技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910159208.0/1.html,转载请声明来源钻瓜专利网。