论文部分内容阅读
随着高科技和社会经济的发展,计算机处理大数量级数值的需求日益剧增,并涉及到科研以及社会的各个领域。如何快速地实现高性能的科学数值计算已经成为我们当前必须面对的一个关键问题。本论文就如何提高浮点数的运算速度这个问题,把浮点乘、加运算作为研究对象,对基于FPGA的浮点乘加融合进行了研究与设计。在充分理解和分析现有浮点乘加融合算法的基础上,通过改进运算部件的关键技术来完成研究目标。采用VHDL语言及Block Diagram对其功能进行设计,在Alter公司的DE2实验板对该设计进行仿真实现。论文深入研究了64位浮点数乘加部件的总体结构及设计方法,设计并实现了各个阶段的关键技术:解码、乘法器、对阶移位、前导1预测、规格化移位、舍入。乘法器的设计包括符号扩展、部分积的产生、5选1选择器以及在3:2CSA基础上设计出的4:2CSA,实现了53位尾数相乘的乘法器。针对乘加融合的基础部件加法器,设计并实现了3:2CSA,比较了超前进位加法器,为浮点运算在加速方面得到提升提供了依据。在对阶移位部分,本文设计了161移位器,根据浮点指数的不同,分析了移位器三种情况。此外,文章详细分析了三输入前导1预测算法,并设计实现了三输入前导1预测编码,采用模块化的编码树,实现了前导1预测。最后,综合64位浮点数乘加部件,完成乘加融合总体结构,实现了乘加融合的FPGA仿真。通过仿真实现来验证各部件结果,由验证结果可知,浮点数运算在速度上得到了提升。