基于矩阵转置操作的fft加速器装置的制造方法_3

文档序号:9471341阅读:来源:国知局
水读取数据,然 后,再以交叉方式将数据写入,即每个存储体在每个时钟周期要么是在读数据要么是在写 结果。
[0084] 如图7所示,为在具体应用实例中FFT加速器状态控制示意图。根据FFT的计算 规模,FFT加速器状态控制器分为两个部分:批量小规模FFT计算过程和大规模FFT计算过 程,其中大规模FFT计算过程中需要两次调用批量小规模FFT计算。具体流程如下。
[0085] 状态SO :控制状态处于空闲状态,等待启动命令(Startup_FFT)。
[0086] 状态Sl:判读FFT规模,当Size>lK时,为大规模FFT计算,跳转到状态S2-1,否则 为小规模FFT计算,跳转到状态S2。
[0087] 状态S2:对批量小规模FFT计算进行相应配置,同时设置批量小规模FFT启动入 口Entry为0,当批量小规模FFT计算完成后根据Entry选择相应的出口。
[0088] 状态S3:启动批量小规模FFT计算,根据配置的参数启动DM控制状态机和FFT计 算阵列,利用FFT加速器内部的多重并行性和计算与数据通信重叠等方法来快速完成批量 小规模FFT计算。
[0089]状态S4:等待批量小规模FFT完全信号有效(即SFFT_Done= 1),然后根据入口 Entry选择合适出口。
[0090] ?当Entry=0时,进行小规模FFT计算,状态机跳转到状态S5 ;
[0091] 鲁当Entry=1时,进行大规模FFT中列FFT计算,接下来需要进行行FFT变换相 应处理,状态机跳转到状态S2-5 ;
[0092] ?当Entry=2时,进行大规模FFT中行FFT计算,接下来需要进行结果矩阵转置, 状态机跳转到状态S2-8;
[0093] 状态S4:等待批量小规模FFT完全信号有效(即SFFT_Done= 1),然后根据入口 Entry选择合适出口。
[0094] 状态S2-1 :配置本次大规模FFT计算相关参数,如数据起始地址、结果起始地址、 中间地址1、中间地址2、FFT计算类型等。
[0095] 状态S2-2 :启动列矩阵转置,配置DM矩阵转置所需规模、数据起始地址、中间地 址1等。
[0096] 状态S2-3 :等待列矩阵转置完成,转置后的数据存放在中间地址1中,完成后跳转 到状态S3。
[0097] 状态S2-4 :将列方向FFT视为批量小规模FFT计算,配置相应参数寄存器,同时设 置批量小规模FFT启动入口Entry为1,列FFT计算过程中,将补偿因子计算视为FFT计算 的最后一级集成到批量小规模FFT计算中。列FFT计算结果存放在中间地址1中。
[0098] 状态S2-5 :启动行矩阵转置,配置DM矩阵转置所需规模、中间地址1、中间地址2 等,矩阵转置将中间地址1中列FFT计算结果转置后存放到中间地址2指定的存储空间中。
[0099] 状态S2-6 :等待行矩阵转置完成,转置后的数据存放在中间地址2指定的存储空 间中。
[0100] 状态S2-7 :将行方向FFT视为批量小规模FFT计算,配置相应参数寄存器,同时设 置批量小规模FFT启动入口Entry为2。行FFT计算结果存放在中间地址2中,完成后跳转 到状态S3。
[0101] 状态S2-8 :启动结果矩阵转置,配置DM矩阵转置所需规模、中间地址2、结果地址 等,矩阵转置将中间地址2中行FFT计算结果转置后存放到结果地址指定的存储空间中。
[0102] 状态S2-9 :等待结果矩阵转置完成。
[0103] 状态S2-10 :判读大规模FFT计算是否完成,即Cnt_BFFT=Num_FFT,如果没完成, 则更新数据起始地址、结果起始地址等参数,然后跳转到状态S2-1,重新执行下一个大规模 FFT计算;否则,跳转到状态S5。
[0104] 状态S5 :FFT计算完成并向DSP内核发送完成中断,控制状态机跳转到空闲状态 SO0
[0105] 以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例, 凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的 普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护 范围。
【主权项】
1. 一种基于矩阵转置操作的FFT加速器装置,其特征在于,包括: FFT加速器控制,用来控制逻辑完成批量1维FFT运算的控制,给总线控制器发送读写 控制参数,协调FFT-PE之间的计算与数据传递; 总线控制器,用来根据FFT加速器控制模块的参数,产生读/写DDR存储器或片内SMC存储器的控制信号; FFT计算阵列,包括两个单存储器结构的FFT-PE,即FFT_PE1和FFT_PE2,用来实现批量 1维FFT算法的计算; 数据通路和命令通路异步处理单元,用来负责将TeraNet数据主机端口协议转换为内 部DMA总线协议,将TeraNet命令从机端口协议转换为内部Pbus总线协议;同时,还完成系 统时钟频率域和FFT时钟频率域的异步对接。2. 根据权利要求1所述的基于矩阵转置操作的FFT加速器装置,其特征在于,每个所述 FFT-PE内部设置两组数据存储器,用来完成初始数据读、计算结果写与FFT计算之间的"乒 乓"操作。3. 根据权利要求2所述的基于矩阵转置操作的FFT加速器装置,其特征在于,所述两 个FFT-PE单元以循环方式接收来自存储器的数据,进行FFT计算,并将计算结果写入到存 储器。4. 根据权利要求1或2或3所述的基于矩阵转置操作的FFT加速器装置,其特征在 于,对于规模超过IK点的FFT,所述FFT计算阵列采用Cooley-Tukey策略来实现;所述 Cooley-Tukey策略采用分而治之的方式,初始数据和计算结果放在存储容量较大的DDR存 储器或片内存储器SMC中,使用二维FFT模拟实现规模大规模一维FFT。5. 根据权利要求4所述的基于矩阵转置操作的FFT加速器装置,其特征在于,所述 Cooley-Tukey策略的流程包括: 列矩阵转置:对初始数据进行矩阵转置操作,结果存储到中间地址1指定的存储空间 中; 列FFT计算:对中间地址1的数据进行列方向FFT,结果仍写回到中间地址1指定的存 储空间,补偿因子计算集成到列FFT计算过程,视为一级FFT蝶形计算; 行矩阵转置:对中间地址1存储的列FFT计算结果进行矩阵转置,结果存储到中间地址 2指定的存储空间中; 行FFT计算:对中间地址2的数据进行列方向FFT,结果仍写回到中间地址2指定的存 储空间; 结果矩阵转置:对中间地址2存储的行FFT计算结果进行矩阵转置,将最终结果存储到 指定的存储空间中。6. 根据权利要求5所述的基于矩阵转置操作的FFT加速器装置,其特征在于,在进行矩 阵转置操作时采用分块矩阵转置策略,即: 51 :将原始NfN2矩阵分解若干基本块,通过一次按行读和按列写操作完成基本块转 置; 52 :再以基本块为元素,对基本块矩阵进行转置,实现整个矩阵的转置;基本块矩阵转 置通过控制基本块转置的读、写地址完成; 53 :采用"乒乓"结构实现不同基本块的读操作时间和写操作时间重叠,AXI数据通路 的读通路与写通路完全分开。
【专利摘要】一种基于矩阵转置操作的FFT加速器装置,其包括:FFT加速器控制,用来控制逻辑完成批量1维FFT运算的控制,给总线控制器发送读写控制参数,协调FFT-PE之间的计算与数据传递;总线控制器,用来根据FFT加速器控制模块的参数,产生读/写DDR存储器或片内SMC存储器的控制信号;FFT计算阵列,包括两个单存储器结构的FFT-PE,即FFT_PE1和FFT_PE2,用来实现批量1维FFT算法的计算;数据通路和命令通路异步处理单元,用来负责将TeraNet数据主机端口协议转换为内部DMA总线协议,将TeraNet命令从机端口协议转换为内部Pbus总线协议。本发明具有实现简单、效率高、适用面广等优点。
【IPC分类】G06F17/16, G06F17/14
【公开号】CN105224505
【申请号】CN201510719158
【发明人】雷元武, 郭阳, 陈胜刚, 彭元喜, 刘宗林, 马胜, 陈小文, 罗恒, 孙永节, 孙书为, 李勇, 吴虎成
【申请人】中国人民解放军国防科学技术大学
【公开日】2016年1月6日
【申请日】2015年10月29日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1