一种基于FPGA的通用矩阵相关计算实现系统及其方法技术方案

技术编号:35098593 阅读:19 留言:0更新日期:2022-10-01 17:03
本发明专利技术公开了一种基于FPGA的通用矩阵相关计算实现系统,参数配置模块用于系统参数的配置和管理,包括矩阵维数、计算内核规模模块参数;数据重排模块根据参数配置模块的参数,按照模块并行数对参与运算的矩阵数据进行重排,满足下一级矩阵相关计算模块输入要求;矩阵相关计算模块根据参数配置模块设置的参数,调整内核计算的矩阵单元规模,同时调整计算内核的并行数,对矩阵进行相关计算;输出重排模块对矩阵相关计算模块的并行计算结果进行输出重排,使得输出接口满足标准AXI协议。本发明专利技术实现两个矩阵的矩阵相关计算,支持标准的AXI接口协议,满足目前数字信号处理中矩阵相关计算的可靠性和精确性需求。算的可靠性和精确性需求。算的可靠性和精确性需求。

【技术实现步骤摘要】
一种基于FPGA的通用矩阵相关计算实现系统及其方法


[0001]本专利技术涉及数字信号处理技术,特别是一种基于FPGA的通用矩阵相关计算实现系统及其方法。

技术介绍

[0002]矩阵计算是科学和工程计算的核心,在数字信号处理和图像处理等领域运用极为广泛,在实际应用中,计算模块需要满足大型矩阵的运算精度要求,同时还要兼顾模块占用的资源和模块吞吐率。其中矩阵相关计算又是最基本,最常用的矩阵运算之一。
[0003]随着数字技术的快速发展,矩阵维度大,计算精度要高等高性能需求给信号处理算法实现带来了极大的挑战。针对目前矩阵相关计算模块的数据吞吐率低、计算精度低等问题,设计一个通用的矩阵相关计算的模块,满足计算精度要求的同时,提高系统资源利用率和数据通过率,正是本专利技术设计的初衷。

技术实现思路

[0004]针对现有技术中存在的问题,本专利技术提供了一种基于FPGA的通用矩阵相关计算实现系统及其方法。本专利技术实现两个矩阵(行数不大于64;列数不大于128)的矩阵相关计算,支持标准的AXI接口协议,满足目前数字信号处理中矩阵相关计算的可靠性和精确性需求。
[0005]本专利技术的目的通过以下技术方案实现。
[0006]一种基于FPGA的通用矩阵相关计算实现系统,包括参数配置模块、数据重排模块、矩阵相关计算模块、输出重排模块,所述参数配置模块分别与数据重排模块、矩阵相关计算模块、输出重排模块相连接,所述数据重排模块、矩阵相关计算模块、输出重排模块依次连接,所述参数配置模块用于系统参数的配置和管理,包括矩阵维数、计算内核规模模块参数;所述数据重排模块根据参数配置模块的参数,按照模块并行数对参与运算的矩阵数据进行重排,满足下一级矩阵相关计算模块输入要求;所述矩阵相关计算模块根据参数配置模块设置的参数,调整内核计算的矩阵单元规模,同时调整计算内核的并行数,对矩阵进行相关计算;所述输出重排模块对矩阵相关计算模块的并行计算结果进行输出重排,使得输出接口满足标准AXI协议。
[0007]所述矩阵相关计算模块的计算内核模块获取到本内核需要处理的子矩阵数据后,将数据存放在缓存Buffer中,先读取子矩阵a的第一个行数据,对子矩阵b的行数据依次读取,并进行复乘运算,并且将结果存放于累加缓存器中;然后再读取子矩阵a的第2个行数据,进行相应操作;依次完成子矩阵a和子矩阵b的第一列数据的相关计算;循环进行子矩阵第二列数据的相关操作,并且将累加缓存器中的数据读取出来于复乘结果累加,得到累加结果,再次存入缓存器中;直至子矩阵数据全部运算完成,输出最后的累加结果。
[0008]一种基于FPGA的通用矩阵相关计算实现方法,步骤包括:
[0009]a.在帧控制表到达后,矩阵相关计算模块运算前,根据系统控制要求,参数配置模块对数据重排模块、矩阵相关计算模块和输出重排模块进行参数配置操作;
[0010]b.参与运算的矩阵数据,即满足AXI协议的串行数据经过数据重排模块,将串行数据转换成部分并行的数据,输出至矩阵相关计算模块;
[0011]c.矩阵数据进入矩阵相关计算模块后,计算内核并行处理,得到并行的相关计算结果;
[0012]d.并行计算结果输入输出重排模块,进行并串转换得到串行数据,按照标准AXI协议输出。
[0013]相比于现有技术,本专利技术的优点在于:
[0014]1、本专利技术支持M行N列的矩阵(M<=64,N<=128)之间的矩阵相关计算。
[0015]2、参数化配置,通用性强。用户可以通过参数配置矩阵运算内核模块的规模和并行内核模块数量,从而满足FPGA资源和数据通过率的要求。
[0016]3、接口标准化:本专利技术的通用矩阵相关计算模块向用户端提供标准的AXI接口。
附图说明
[0017]图1为本专利技术模块框图。
[0018]图2为本专利技术矩阵相关计算模块框图。
具体实施方式
[0019]下面结合说明书附图和具体的实施例,对本专利技术作详细描述。
[0020]如图1所示,本专利技术提供的一种基于FPGA的通用矩阵相关计算模块,包含以下4个主要子模块。参数配置模块,用于系统参数的配置和管理,包含矩阵维数、计算内核规模等模块参数;数据重排模块,根据配置模块的参数,按照模块并行数对参与运算的矩阵数据进行重排,满足下一级矩阵相关计算模块输入要求;矩阵相关计算模块,根据配置模块设置的参数,调整内核计算的矩阵单元规模,同时调整计算内核的并行数,对矩阵进行相关计算;输出重排模块,对矩阵计算模块的并行计算结果进行输出重排,使得输出接口满足标准AXI协议。
[0021]图1展示了该计算模块的框架结构和详细步骤,在帧控制表到达后,矩阵计算模块运算前,根据系统控制要求,参数配置模块对数据重排模块、矩阵相关计算模块和输出重排模块进行参数配置操作;配置结束后,参与运算的矩阵数据(满足AXI协议的串行数据)经过数据重排模块,将串行数据转换成部分并行的数据,输出至矩阵相关计算模块。在矩阵相关计算模块中,计算内核并行处理矩阵数据,得到并行的相关计算结果,输出重排模块,进行并串转换得到串行数据,按照标准AXI协议输出。
[0022]图2展示了矩阵相关计算模块的计算内核模块框架,在内核模块获取到本内核需要处理的子矩阵数据后,将数据存放在缓存Buffer中,先读取子矩阵a的第一个行数据,对子矩阵b的行数据依次读取,并进行复乘运算,并且将结果存放于累加缓存器中;然后再读取子矩阵a的第2个行数据,进行相应操作;依次完成子矩阵a和子矩阵b的第一列数据的相关计算。循环进行子矩阵第二列数据的相关操作,并且将累加缓存器中的数据读取出来于复乘结果累加,得到累加结果,再次存入缓存器中。直至子矩阵数据全部运算完成,输出最后的累加结果。
[0023]一种基于FPGA的通用矩阵相关计算实现方法,步骤包括:
[0024]a.在帧控制表到达后,矩阵相关计算模块运算前,根据系统控制要求,参数配置模块对数据重排模块、矩阵相关计算模块和输出重排模块进行参数配置操作;
[0025]b.参与运算的矩阵数据,即满足AXI协议的串行数据经过数据重排模块,将串行数据转换成部分并行的数据,输出至矩阵相关计算模块;
[0026]c.矩阵数据进入矩阵相关计算模块后,计算内核并行处理,得到并行的相关计算结果;
[0027]d.并行计算结果输入输出重排模块,进行并串转换得到串行数据,按照标准AXI协议输出。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于FPGA的通用矩阵相关计算实现系统,其特征在于包括参数配置模块、数据重排模块、矩阵相关计算模块、输出重排模块,所述参数配置模块分别与数据重排模块、矩阵相关计算模块、输出重排模块相连接,所述数据重排模块、矩阵相关计算模块、输出重排模块依次连接,所述参数配置模块用于系统参数的配置和管理,包括矩阵维数、计算内核规模模块参数;所述数据重排模块根据参数配置模块的参数,按照模块并行数对参与运算的矩阵数据进行重排,满足下一级矩阵相关计算模块输入要求;所述矩阵相关计算模块根据参数配置模块设置的参数,调整内核计算的矩阵单元规模,同时调整计算内核的并行数,对矩阵进行相关计算;所述输出重排模块对矩阵相关计算模块的并行计算结果进行输出重排,使得输出接口满足标准AXI协议。2.根据权利要求1所述的一种基于FPGA的通用矩阵相关计算实现系统,其特征在于所述矩阵相关计算模块的计算内核模块获取到本内核需要处理的子矩阵数据后,将数据存放在缓存Buffer中,先读取子矩阵a的第一个行数据,对子矩阵b的行数据...

【专利技术属性】
技术研发人员:崔宏宇张辉祝庆贺钱孝桃李婧凌元韩文俊
申请(专利权)人:中国电子科技集团公司第十四研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1