登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 外文翻译 > 理工学类 > 自动化 > 正文

调查的设计和浮点加法器的FPGA实现外文翻译资料

 2022-09-05 16:43:56  

调查的设计和浮点加法器的FPGA实现

1引言

现场可编程门阵列(FPGA)越来越多地被用于高性能应用。采用的FPGA需要高数值稳定性和精确性,如应用程序。相比专用集成电路(ASIC),他们变得更有吸引力的解决方案。FPGA是硬件可重构计算工具,适合设计,可在运行过程中经常升级的应用程序。应用可以写成高级语言和FPGA中合成的[1],使它们受欢迎并更容易实现。FPGA成为在分布式计算[2],其中系统节点包含FPGA和能够根据当前的需要。[3]将它们编程越来越流行。此外,它们适合以设计算法如[4],[5]分配算法为芯片多处理器[6],[7]。大多数的数字应用需求进行计算,高精确度和广泛的数字。浮点格式满足这样的要求。它具有广泛的,能够与固定的位数来呈现数字。因此,大多数的FPGA实现的应用程序的浮点格式表示。在FPGA中,性能和面积都设计高效浮点单元的主要问题。一些妥协必须的速度,准确性及FPGA资源之间找到。

1.1浮点数字格式

浮点数是代表二进制格式实数的一种可能的方式;IEEE 754标准[8]提出了两种不同的浮点格式,二进制交换格式和十进制交换格式。在这次审查中,二进制浮点运算表示。 图。图1示出了IEEE754二进制交换浮点格式。这些二进制格式被编码在k位有序如该图所示在下三个字段。 它包括:

(一)1位符号S.

(二)W-位偏置指数E=e bias,偏差,偏差的地方bias=(2^w-1- 1)。

(三)(p-1)-Bits尾随有效数字(或尾数)字段位串M=d1d2hellip;hellip;dp-1。尾数的引导位,D0,是隐在偏置指数E,其中二进制数值m被数字串作为表示编码(d0.d1d2hellip;hellip;dp-1)。

浮点数可以在16,32,64,或多个32位进行编码。根据编码的比特数,k的值,P,W,和偏置 - 二进制交换格式 - 可被确定[8]。隐式数位D0是由指数E值确定。如果0lt;Elt;(2^w-1),所以d0为“1”,因此,浮动号码被标准化,并将其值被确定为(-1^s)*M*2^E。然而,代表较小的数字,如果E为0,M是非零,因此d0为“0”,因此,浮动数为低于正常(或非规格化)及其值被确定为(-1^s)*M*2^(1-bais)。表1显示了最广泛用于许多应用中,单,双浮点格式两种格式。转换为十进制数,代表它变成一个二进制浮点格式是一个简单的过程。让,例如,十进制数(2770)D在32位浮点数,称为单精度浮点格式编码。首先,“101011010010”,是对应的二进制格式。由小数点移动到左边,使得只有一个比特1上小数点的左边(此位1是隐藏的位,D0),数字可以表示为“1:01011010010211”。所以,这个数字是一个积极的(Sfrac14;0),标准化(d0frac14;1)与尾数(M)frac14;“01011010010”,Efrac14;11,和指数Efrac14;第127位的11frac14;frac14;138(10001010)因此,该数量可以在一个单精度格式被编码为“01000101001011010010000000000000”。此外,基于指数E和尾数M,浮点格式可表示特殊号码。表2列出的二进制浮点格式,其中,NZ和NaN的是不为零,而不是一个号码,分别的特殊情况。

用于浮点运算的IEEE 754标准为浮点运算的最广泛使用的标准。它规定了基本功能和扩展浮点数字格式,和六个数值运算(加,减,乘,除,开方和余数)。此外,它提供了用于整数之间的转换和浮点格式以及不同的浮点格式之间的转换规则。

图1二进制交换浮点格式。

表1单,双精度浮点数摘要

表2在二进制浮点格式表示的特定号码

1.2浮点加法技术

加入两个浮点数是由以下步骤执行:(1)计算的指数差并[d],并设置结果指数为更大的指数。(2)尾数定位:这是通过右移数与较小的指数d位置。(3)加/减两对准尾数。(4)标准化:所得尾数归遵从浮点数格式。(5)四舍五入:结果根据指定的模式,以适应精确圆形。在这篇综述文章中,我们介绍的FPGA中的浮点加法运算的实现。本文组织如下:下一节介绍的加法运算;第3节说明了浮点在FPGA硬件实现。四舍五入和浮动点的异常在第4和5分别给出。最后,第6节总结全文。

2浮点加法运算

除了是相比乘数的最复杂的过程。的指数,尾数的对准,和归一化的方法的比较是多复杂和耗时的加法处理。对于这样的浮点加法的复杂度,也在进行中的FPGA加成单元的有效的实现,以减少加入等待时间和面积在FPGA消耗。由于浮点加法比乘法更复杂,本节讨论了在FPGA浮点实施不同的技术。算法的目标是优化区,性能,或具有更高的频率工作。优化是只有一个在另一个的成本实现。本节探讨的大小,延迟和频率之间的权衡浮点加法运算。让A和B是与标志,尾数和指数,SA,MA,EA和SB,MB,EB,分别用于两个数A和B两个浮动号码

2.1标准浮点算法

标准浮点算法的结构[9],[10]是相当简单的。它是一种直接实现将两个浮点数所需的基本级,它检查第一数目是否被标准化以设置隐藏位(D0),那么它遵循的基本步骤:

1。指数的差异和交换过程。

2。尾数排列(预移)。

3。尾数加法/减法

4。尾数正常化(后移)。

5。四舍五入。

图2浮点加法运算

图2a表明标准浮点算法的架构。尾数正常化是通过两个过程进行的。首先,领导检测器(LOD)[11]限定第一前导位,则的位置;所得尾数由该位置偏移。标准浮点算法的结构是节省面积,但它并没有提供高性能。

2.2领先的一个预测(LOP)算法

在该算法中,领先预测(LOP)[12],[13],[14]被实现,以减少正常化过程的等待时间。LOP取代LOD电路预见相加结果与所述尾数加成平行的最显著一个的位置。相比于标准算法LOP算法表现出更高的性能。然而,使用更大的面积。 图。2b显示了LOP算法架构。

2.3双路径算法

二路径(称为远和关闭数据通路)算法[15]旨在增强浮点加法的性能。由于需要一些另外的情况下并不是所有的硬件模块,远远密切数据路径算法致力于两个不同的平行路径,以减少等待时间。一个这两条路径是基于指数差选择。当指数差为0或1时,关闭路径取,其中所述尾数对准(预移)由至多一个比特移位,这是很容易实现完成。另一方面,当指数差大于一远路径取。在这种情况下,需要在规范化过程可能一个比特移位器。两个路径算法示于图。 2C。多年来已经有一些在两个路径算法[9],[16],[17]的改进。另外,化合物加法器是集成在设计超越的舍入处理。标准的浮点算法是该地区而言是最好的,但相比于其他算法它表现出较少的性能。两个路径算法是在性能方面最好的一个,但它消耗更多的领域实现两条不同的路径。 LOP算法,但是,改善了与额外面积的标准浮点算法的性能。它是在标准和LOP算法之间的温和状态。它消耗比标准算法和不少于两个路径算法更面积,并且在这两个算法之间其性能定位。

3 在FPGA中浮点加法器的硬件实现

由于浮点加法比乘法[18]比较复杂,研究致力于实现高效除。因此,在本节中,我们展示了一个浮点加法器的和基本组件在FPGA加法器的有效实现。

图3加法器模块(A)指数差异及(b)进行前瞻加法

3.1浮点加法器组件在硬件

基本的浮点加法器包括以下基本模块来完成加入过程:

bull;两个指数之间的差由减法器(加法器)单元计算。

bull;一个交换单元(多路复用器)来选择与需要调整最小的指数尾数。

bull;尾数排列由右移位器组件完成的。

bull;加/两个尾数的减法是通过加法器单元计算。

bull;正常化后的单元,其归一化加法处理的结果。它由两部分组成:一领先一个检测器(LOD),该计数超前零的数目和基于有效动作的左/右移位器。

bull;四舍五入组件映射的结果存入有限精度。

高效的实现在硬件这些组件导致的有效浮点加法器。

3.1.1指数差异模块

指数差的任务是为我们提供的两个值,符号差限定的最小指数和所需要的尾数取向差值。图3a显示了一个简单的实现指数差分电路的。这两个指数由2的补码加法器中减去获得的符号值来定义最小的指数,并选择正确的指数差值。

3.1.2加法器模块

加法器电路在浮点单元的主要成分。它仅实现操作(加法或减法)。加法器电路的关键问题是随身携带的传播。加法器电路,以获得更短的延迟得到了改善。波进位加法器,进位加法器跳过,进位选择加法器,并进行前瞻加法器[19],[20],[21]是最知名的法器。在波进位加法器,进位旁边的总和位计算,每一位等待,直到前面的进位已经计算。一进位加法器跳过提高了波进位加法器的延迟。进位选择加法器是实现加法器以特定的方式。它由两个波进位加法器和多路复用器的。这很简单,用o(radic;n),其中n是位数宽度的门级深度的相当快。另一方面,一个进位先行(CLA)加法器[22]是最快的加法器相比,它的对应物。它提高了另外的延迟。它减少了等待时间,计算较大值比特的结果的总和之前计算进位。图。图3b示出一个1比特的CLA加法器的结构。从在加法器执行分析[23] [24],在Xilinx内置加法器是最有效的加法器。它显示了至少组合延迟和最小面积的要求。这是因为FPGA结构提供了特别的支持行动,如携带传播。该CLA加法器,但是,提供定制的加法器中最好的延时,因为进位分别计算。

3.1.3转换器模块

基本的浮点加法需要两个移位部件,右移位和尾数定位和规范化左移位。在[23],[25],在FPGA中移位器被实现为一系列多路复用器。变速操作是在恒定的时间内完成而不管要移位的位数。这些移位器的优点在于,管道可应用于提高的吞吐量。在II的Virtex提供嵌入式乘法器被利用来实现这种转换器,直接连接电线来实现右移位器和反向左转换器连接。两种类型的移位器在[24]付诸实施,调整转换器和桶式移位器。它们具有相同的区域,但每桶具有更低的延迟。对齐和桶有相同的概念,但在对齐移位多路复用是行为上实施。在对齐移位的移位器模块采用VHDL的串联操作而设计的。

3.1.4领导一个检测(LOD)模块

在加入过程之后,下一步是正常化的结果符合在IEEE浮点格式。第一步是击中结果数的第一个,并且施加然后转移过程。为了鉴定结果数的第一个,一个特殊的部件必须被执行,称为主导一个检测器(LOD)或主导零计数器(LZC)。Oklobdzija[11]设计一个高效的LOD电路具有较少面积和有效的延迟。行为与Oklobdzija孩子们在[24]来实现。该行为模型是用VHDL语言中的“案例”报表行为上定义每个可能实现的。Oklobdzija LOD显示更短的延迟和相对于行为VHDL区域。

3.1.5领导一个预测(LOP)模块

为了正常化相加结果,结果的值与第一个位被搜索。该过程通过检测限的加法处理之后发生。然而,搜索处理和加法处理可以同时执行,以减少的等待​​时间。领先一个预测值(LOP)[12],[13],[14]可以预测与加法器并行的结果数的所述第一个的位置。该预测可能是错误由一个比特,所以这个误差的校正导致的延迟增加。因此,[26]提出了一种新颖的设计采用了并行位置校正逻辑,与LOP并行操作,以检测错误的存在,并产生正确的移位量。一个LOP有三个主要模块:预编码器,一个LOD,和一个误差检测树。虽然LOP减少了浮点加法器的延迟,它消耗了大量资源,在FPGA中实现。在[24],LOP,LOD和加法器被上表示LOP具有的性能,但在大面积的成本11.8%的增强的的Virtex-II Pro的FPGA上实现。

3.2在FPGA中浮点加法器算法的高效实现

浮点加法是最常见的浮点运算。因此,大量的研究已经进行,以减少等待时间和提高性能[9],[15],[16],[19],[27],[28]设计高效的浮点加法器,[ 29]。一些作品的人为了达到有效的等待时间和区域的设计进行了实施浮点单元在FPGA中[10],[19],[25],[30],[31],[32]。在[10],作者开发了一种工具,使用户能够创建浮点单元具有不同的吞吐量,延迟和区域特征的众多集合的选项。他们的一个工作的缺点之一是,他们缺乏实施溢和下溢异常。在[31],作者分析了继IEEE 754格式的单精度和双精度浮点乘法和加法/减法单位。他们认为管线级的数目以测量吞吐量和在FPGA消耗的区域的参数。在这项工作中,频率/地区作为一个新的指标。然而,非正规化和NaN(非数字)的实现已经没有在他们的评价提供。 [32]提出了有效的实现浮动使用5级流水线与LOP在FPGA中的双路径算法点加法器。另一方面,[33]取得的Virtex-IV良好浮点性能。目标FPGA和并行优化方法的具体结构已被认为是获得高的性能。 [25]注意到的FPGA的特殊功能元件的优点。这得到了最优化的Xilinx Virtex-II嵌入式乘法器和移位寄存器的利益。为进一步的性能,[34]通过有效地利用来自两个路径加法器的两条路径中提出的浮点加法的一种新的方法。这样,两个浮点加法可以同时执行,每一个不同的道路。 [24]提供的浮点加法器的FPGA设计权衡分析。在这项工作中,标准型,领先一个预测(LOP);和双通道浮点加法运算都在FPGA中实施。其组件已落实并合成到Xilinx公司的Virtex-II Pro的FPGA器件。标准和LOP算法得以实施分为5个阶段,并与赛灵思IP进行比较。研究浮在FPGA上点单位有效的实现仍在进行。 [35]发现了一种新的技术来实现双精度IEEE浮点加法器,可以两个时钟周期内完成加法运算。此外,[36]最佳加法器模块的各个复杂的组件。为了减少等待时间,[36]建议平行正常化之前的加法处理

剩余内容已隐藏,支付完成后下载完整资料


英语原文共 8 页,剩余内容已隐藏,支付完成后下载完整资料


资料编号:[147241],资料为PDF文档或Word文档,PDF文档可免费转换为Word

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

企业微信

Copyright © 2010-2022 毕业论文网 站点地图