矩阵运算设计与仿真

 2022-11-06 09:11

论文总字数:18392字

摘 要

矩阵是线性代数中非常重要的一个知识模块,矩阵的应用处处存在于我们的生活之中,矩阵的运算则是矩阵的核心内容。

本文介绍的是基于Verilog硬件程序编程语言的矩阵的乘法,矩阵的LU分解和矩阵求逆的运算。首先介绍了矩阵乘法,分解和求逆的原理,并展示出了这些运算方式的模块与内容,最后通过Modelsim进行结果的仿真与分析,通过波形来验证其可行性。

关键词:Verilog;矩阵乘法;矩阵求逆;ISE;Modelsim

Matrix Operation Design And Simulation

Abstract

Matrix is a very important knowledge module in linear algebra. The application of matrix exists everywhere in our life. The operation of matrix is the core content of matrix.

This paper introduces matrix multiplication, matrix LU decomposition and matrix inversion operation based on Verilog hardware programming language. Firstly, the principles of matrix multiplication, decomposition and inversion are introduced, and the modules and contents of these operation modes are shown. Finally, the simulation and analysis of the results are carried out by Modelsim, and the feasibility is verified by the waveform.

Keywords: Verilog; ISE; Modelsim; Matrix Multiplication; Matrix Inversion

目 录

摘 要 I

Abstract II

第一章 引言 1

1.1选题背景与意义 1

1.2国内外相关研究 1

第二章 矩阵运算的基本概念 2

2.1矩阵的乘法运算 2

2.2矩阵的求逆运算 2

2.2.1伴随矩阵法 2

2.2.2初等变换法 3

2.2.3分块矩阵法 3

2.2.4分解矩阵法 4

2.3矩阵的LU分解 4

2.4本章小结 5

第三章 架构分析及代码设计 6

3.1矩阵乘法模块 6

3.2矩阵LU分解模块 7

3.3三角矩阵求逆模块 8

3.4激励文件 9

第四章 结果与误差分析 10

4.1赋值模块的结果仿真 10

4.2矩阵乘法运算模块结果仿真 10

4.3矩阵求逆模块的仿真结果与分析 11

4.3.1矩阵LU分解后的结果与分析 11

4.3.2三角矩阵L和矩阵U的求逆结果与仿真 12

4.3.3三角矩阵乘法模块 12

第五章 软件介绍 14

5.1 ISE 14

5.2Modelsim 15

第六章 结束语 16

致 谢 17

参考文献(Refernces) 18

附 录 19

第一章 引 言

1.1选题背景与意义

在数学领域中,矩阵就是各个数按照一定的方阵的排列顺序进行排列而形成的一种数字的集合。矩阵最早来自于方程组的系数及常数所构成的方阵,是用来进行方程组的运算的工具。在当代我们所使用的矩阵的运算是一种非常常见的运算工具,它可以来描述在各种学术的不同研究过程中将会遇到的许多工程或者数值上的问题,矩阵的运算是在计算过程中必不可少的一种工具和手段,并且矩阵和矩阵运算处处存在于我们的日常生活中,与我们的生活息息相关,在生活中我们经常可以碰到有关于矩阵和矩阵运算的问题。近些年以来,由于计算机和网络的快速发展和大面积的普及,使得矩阵对我们日常生活的重要性越来越显著。这是因为在解决很多现代工程技术中的各式各样的问题时都可使用到矩阵的理论和矩阵的运算方法来解决问题。使用矩阵的运算不仅仅表述十分简洁,也便于进行各种方面的研究工作,并且矩阵运算还具有合适计算机处理的特点,这使得矩阵和矩阵的运算在很多方面的领域中都得以到了非常广泛的运用。矩阵的运算包括矩阵的乘法运算、矩阵的秩的运算、矩阵的求逆运算、矩阵的初等行变换,矩阵的模的运算等等,这些运算在简化复杂问题和解决很多重要问题上是必不可少的关键环节。

近年来有许多关于矩阵变换的研究,这些研究将一些繁琐复杂的问题简单化,也极大地推进和丰富了电子信息、航空航天等领域的发展,同时促进了更多的数学家加入到研究矩阵变换的队伍中,这样就使得矩阵变换知识日渐完善,并应用到更多的领域中去。

1.2国内外相关研究

目前矩阵乘法计算的研究已经取得了一些成果。如Intel的MKL库,NVIDA基于CUDA计算平台开发的CUBLAS库等,都可以高效地实现矩阵乘法。在定点矩阵乘法方面,Amira等人在FPGA上实现了8位定点数的矩阵乘法,但该设计的一个主要缺点是其所需要的I/O带宽与矩阵的规模成比例增加,限制了该设计的可扩展性。而后Jang等人提出了一个基于FPGA的定点矩阵乘法算法,该算法只需要固定的I/O带宽,但每个计算单元内部的所需的存储单元大小与问题规模是成比例的。

在矩阵向量积的有效求值问题中许多情况下可以通过一定的代数结构很容易地推导出这些算法,当矩阵代数结构不明显或难以利用时也可以使用“四个俄罗斯人算法”来进行布尔矩阵乘法。这些技术在现代优化编译器中被积极使用。Peter Trifonov 提出了一种快速矩阵向量乘法算法的构造方法。与上述几种经典算法相比,该方法生成的算法计算次数少,相比于之前的经典算法复杂程度小了许多 。

刘进锋等分别在CPU平台和GPU平台提出多种单精度浮点矩阵乘法的实现方法,分别是在CPU上的普通实现、简单分块实现和MKL库实现以及GPU上的Kernel函数实现、优化Kernel函数实现和CUBLAS库实现。[1]何红旗等通过分析矩阵乘法的执行周期,改进了线性阵列的结构,提出一种基于FPGA的矩阵乘法并行实现设计,加速了矩阵乘法计算的同时,还对浮点运算单元进行模块化设计,便于精度的改变与扩展。[2]

第二章 矩阵运算的基本概念

剩余内容已隐藏,请支付后下载全文,论文总字数:18392字

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;