论文部分内容阅读
矩阵运算是科学计算与工程计算中的基本问题,在信号处理领域中有着广泛的应用。其中矩阵求逆运算占有相当重要的地位。在大规模MIMO系统、阵列信号处理以及图像信号处理等场景中,随着数据规模呈几何级数增长,矩阵求逆的运算速度往往成为影响系统性能的关键。因此,本文主要针对大规模矩阵求逆问题,设计单精度浮点数的高阶实矩阵求逆硬件加速电路,提高矩阵求逆运算电路的吞吐率。本文首先通过对多种矩阵求逆算法的适用性、计算复杂度、以及硬件实现难度等角度的对比分析,选择基于Cholesky分解的矩阵求逆算法进行硬件实现;为了实现电路的高吞吐率,采用流水线并行结构作为本文电路设计的架构基础。基于Cholesky分解的矩阵求逆算法将矩阵求逆过程分为Cholesky分解、下三角矩阵求逆以及三角矩阵相乘三个步骤。本文通过分析三个步骤的数据依赖关系,分别对Cholesky分解、下三角矩阵求逆以及三角矩阵相乘进行基于线性PE阵列的细粒度并行任务划分,并以此为基础设计了PE单元,通过优化阵列结构减少了大量硬件资源使用。其中,针对下三角矩阵求逆,提出了按列进行任务分配的计算方式,通过转换计算顺序实现下三角矩阵求逆算法的并行执行,并通过对浮点乘累加器的设计进一步提高了吞吐率。本文将三个步骤的电路模块进行了整合,实现了最高5120阶矩阵求逆电路系统,误差精度在10-710-4范围内,满足信号处理的基本需求。最后本文根据算法执行过程以及电路延时等参数信息建立了大规模矩阵求逆系统的性能验证模型,从理论上对矩阵求逆电路进行性能分析,加快了对该类电路的性能分析速度。本文采用Nexys Video平台进行验证。结果表明:本文所设计的大规模矩阵求逆系统在FPGA片内集成32个PE单元的情况下,最高支持时钟频率为156MHz,吞吐率达到8.2GFLOPS,可支持325120阶矩阵的求逆运算。相比同类单精度浮点高阶矩阵求逆电路,在节省了20%以上硬件资源情况下吞吐率提高了4%。本文设计的电路满足了大规模矩阵求逆运算的需求,具有一定的工程应用价值。