线性方程组求解的FPGA实现
FPGA可重构计算系统不但有着通用处理器的灵活性,而且它还具有专用集成电路(ASIC)的高性能性,目前它在生物信息学,网络应用,信号处理等领域应用比较广泛。现代FPGA内部一般包含多个浮点运算单元,且本身固有较好的并行性这使FPGA成为加速科学计算的一种重要选择,FPGA实时仿真也逐渐出现在各种实时的电路仿真系统中。矩阵计算是当代科学,工程界研究的核心问题,也是当前FPGA并行计算的研究热点。然而,FPGA实现矩阵运算存在着硬件编程困难,设计模式复杂,并行算法设计等的困难。针对这些问题,本文对FPGA的矩阵运算进行了探索研究。首先研究了浮点运算的相关原理,然后构建了建浮点运算库,使设计得到优化。接着详细分析了矩阵计算,和LU分解的原理,并利用自行设计的运算库解线性方程组。最后在Xilinx ISE 环境下完成仿真验证,获得了高效的实现,与实际演算结果比较确认了设计正确性。
关键词:FPGA 线性方程组 矩阵计算 浮点乘法 M000114
Solving Linear Equations Using FPGA
FPGA reconfigurable computing system has the flexibility of the general purpose processor and the high-performance of Application Specific Integrated Circuit (ASIC). It has been used widely in the field of bioinformatics, network applications and signal processing. Due to its inherent parallelism and included floating-point operation modules in FPGA, FPGA has been used in high performance computing, and real-time simulation such as in real-time circuit simulation System. Matrix computation is the key of modern science, engineering. Now, many research work focus on the FPGA realization of matrix computation. However , there are still a lot of difficulties for FPGA realization of matrix computation. Those difficulties come from the complex design patterns , parallel algorithm design difficulties. To deal with these problems, this paper explores the underlying principles of floating-point arithmetic, then proposed a synthesizable floating point computation library. Based on this library, a method for matrix computation such as LU-decomposition is realized under the Xilinx ISE design environment. The efficiency is fully analyzed and simulation result is validated by the manual analysis results.
Keywords: FPGA; Linear equations; Matrix computation; Floating point multiplification
目录 查看完整请+Q:351916072获取
引言 1
1. FPGA在科学运算中的应用 3
1.1 FPGA的结构及优势 3
1.2 FPGA设计流程 4
1.3 FPGA求解方程组的意义 5
1.4 发展现状 6
1.5 研究内容 6
2. 浮点运算原理浮点运算库设计 7
2.1 浮点运算原理 7
2.1.1浮点基本概念 7
2.1.2 IEEE浮点数标准 7
2.1.3浮点的加减运算 8
2.1.4浮点乘法运算 11
2.2 设计运算库 13
2.3 运算库验证乘法仿真 18
3. 矩阵求解的FPGA实现 19
3.1 矩阵计算介绍 19
3.2 LU分解法 19
3.3 仿真验证 20
3.4 综合结果 21
4. 总结展望 22
参考文献: 23
附录 24
附录一 24
附录二 30
致谢 44
.1 FPGA的结构及优势
现场可编程门阵列(Field Programmable Gate Array,FPGA),是在可编程阵列逻辑(Programmable Array Logic,PAL)、通用阵列逻辑(Generic Array Logic,GAL)、可擦除可编程器件(Erasable Programmable Logic Devices,EPLD)等可编程器件的基础上进一步发展的产物。较常用的有XILINX公司和ALTERA及LATTICE公司的FPGA。自上世纪八十年代Xilinx公司推出第一块FPGA以来,其集成度越来越高。而1998年FPGA的主流产品集成度约为1~3万门,同时25万门产品开始面世,1999年主流产品的集成度40万门,2000年出现了容量为200万门的产品,到2006年达到了1000万门的规模,到2010年将达到50亿个晶体管的集成度。目前FPGA已经采用28nm的工艺技术,且集成了多个内嵌的硬件功能模块。
FPGA出现后,数字电路的设计方式发生了革命性变化。随着FPGA逻辑容量的增加和CAD工具的自动化能力的提升,FPGA已成为众多电子工程师的首先方案,其市场越来越庞大[1-4]。FPGA也由早期 “粘合逻辑”的角色向高性能的系统可编程平台转变,被广泛用于信号处理、高性能计算领域等场合。
图1是基本的FPGA的结构,包括可配置逻辑块(CLB)、布线资源以、可编程输入输出模块(IOB)以及其他的嵌入式功能模块(DLL,BRAM等)。可配置逻辑块完成基本的组合和时序逻辑功能;可编程布线资源将不同的组合或时序模块连接起来构成完整的系统;输入输出模块主要完成各种电平转换,实现与其他电路的接口;嵌入式功能模块是具有特定功能的硬件模块,可和FPGA的其他资源协同使用,提高FPGA的设计效率和性能。
FPGA内部是由重复的CLB单元以矩阵阵列组合而成,每个CLB单元能够完成相应的组合和时序逻辑,不同CLB又能联合组成更大规模的电路。CLB的分布性决定了FPGA在底层有着极大的并行性,能灵活的生成多个并行单元一起参与运算;同时,其丰富的IO端口使得FPGA能够同时处理大量的数据。在用户角度,我们看到的是大量的数据流入,以及大量处理后的数据的实时流出。这些特点,使得FPGA在实时处理、大数据处理方面有着极大的优势。
图1 FPGA芯片体系结构示意图
1.2 FPGA设计流程
传统的基于CPU的设计,采用“取指令-解释指令-执行指令”的工作模式,FPGA利用可编程模式直接在底层构成新的硬件完成运算,其在并行设计方面以及效率方面有着较大的优势。然后,FPGA的硬件可编程性也给FPGA带了设计方面的复杂性。
图2是一个常规的FPGA的设计流程。其包含设计输入、仿真、设计实现、编程下载四大部分,没一部分需要相应的手工介入。设计输入主要完成电子系统的原理图方式设计或者硬件描述语言(HDL)的设计。仿真可以分为功能仿真和时序仿真,功能仿真是在设计输入完成之后,选择具体器件进行编译之前进行的逻辑功能验证,因此又称为前仿真;时序仿真是在选择了具体器件并完成布局、布线之后进行的时序关系仿真,因此又称后仿真或延时仿真。设计实现可以分成综合、工艺映射、布局、布线等步骤,其中逻辑综合和优化是将HDL转变为实际的与非门等组成的数字电路,综合通常和物理设计分开。 工艺·映射是将电路映射到相应的FPGA器件上。布局的目标主要是让逻辑块在布线资源可用的情况下,能在随后的布线步骤中成功布线,并且尽量减小互连线长度。布线需要确定使用哪些布线线段和开关盒来将电路中所有的源和目标点相连。
完成这些步骤可以在统一的集成开放环境中完成,如Xinlinx公司的ISE开发环境、Altera公司的Quartus开放环境;也可以每个阶段采用不同公司的软件联合完成,如综合常用Synplify公司的综合软件和Mentor公司的Modelsim仿真软件。我们在设计中主要采用Xinlinx公司的ISE软件,在ISE开发环境下完成各个对应的设计步骤。
图2 FPGA设计流程
1.3 FPGA求解方程组的意义
线性方程组是高性能运算中最重要的一类方程组,大量的科学及工程技术问题,如微分方程组等,最终往往归结为线性方程组的求解。在一些实时性能要求比较高的场合,传统的基于微处理器或者专用信号处理器的应用由于并行度的限制有着性能方面的局限性,无法满足一些实时性要求高的应用。如最新的电力电子实时仿真领域,传统的基于并行CPU形式的仿真,其仿真步长最高只能达到10us,无法满足新出现的电力电子拓扑结构的仿真场合,其实时仿真已经大量的采用FPGA。[5-8]同样,在大型的科学运算等场合也无一例外的用上了FPGA。[9] 查看完整请+Q:351916072获取
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/gdxx/490.html