关键字 |
浮点乘法器、转移和添加乘数,Radix-4布斯算法,Xilinx 9.1我合成器。 |
介绍 |
浮点乘法(FP)广泛应用于大量的科学和信号处理计算。乘法是一种常见的算术运算在这些计算。也需要高速的乘数增加高速处理器的需求正在增加。更高的吞吐量算术运算是重要的实现所需的性能在许多实时信号和图像处理应用程序。算术运算的关键之一,在这样的应用程序是乘法和快速乘法器电路的发展一直是一个主题感兴趣的几十年。也减少了时间延迟和功耗要求许多应用程序是非常必要的。 |
浮点数表示实数的一个可能的方法在二进制格式。IEEE已经产生了一个标准定义浮点表示和算法称为IEEE 754标准,今天是最常见的表现为实数的电脑。IEEE 754基本上表示浮点值的指定两种格式。他们是单精度和双精度浮点格式。本文主要集中在双精度浮点乘法器。 |
在ieee - 754双精度二进制格式,(S)信号是用一个比特表示,指数(E)和分数(M或尾数)分别为11和50两位表示。数是一个规范化的数字,它必须包括“一个”的最高有效位有效数字和指数大于零,小于1023。真正的数量是由方程(1)和(2)。 |
Z = (1) * 2 (E偏见)* (1。米)(1) |
值=(1符号位)* 2(指数-1023)*(1.尾数)偏见= 1023 (2) |
浮点乘法算法 |
规格化的浮点数的形式的Z = (1) * 2 (E -偏见)*(1.米)。下面的算法将两个浮点数。 |
1。有效数字相乘;例如(1. m1 * 1.平方米)(通过使用布斯算法) |
2。把结果的小数点。 |
3所示。添加指数;例如(E1和E2 -偏见) |
4所示。获取信号;即s1 xor s2 |
5。正常化的结果;即获得1的MSB significand结果 |
6。舍入结果可用比特。 |
7所示。检查下溢/溢出发生。 |
主要块浮点乘法器 |
答:签署计算器 |
签署计算器的主要成分是异或门。如果任何一个数字是负的,那么结果将是负面的。结果将是积极的,如果两个数有相同的迹象。 |
b .指数加法器 |
这个子块增加了两个浮点数的指数和偏差(1023)减去从结果来得到真正的结果即EA + EB -偏见。执行脉动进位加法器(RCA)使用。涟漪的偏见是使用数组减去借减数。 |
c .尾数乘数使用转变并添加乘数 |
Shift-and-add乘数是基本的二进制乘数和通常用于所有应用程序。Shift-addmultiplication是最简单的方法来执行乘法。是派生的二进制n x n位整数,还可用于双精度浮点数与一些小的变化。数量的中间添加操作shift-and-add乘法方法等于number1乘数数量。下面是shift-and-add乘法的步骤: |
步骤1:将被乘数和乘数三个字段,每个字段提取;这些标志、偏差指数和分数。 |
步骤2:合成乘法的迹象将XOR乘数和被乘数的标志位。 |
步骤3:偏差指数的合成将添加偏置指数乘数和被乘数和减去偏见(即1023双精度)。 |
步骤4:从乘数的LSB,添加被乘数如果有„1”LSB的乘法器,那么乘数1的地方转移到右边。 |
第五步:重复步骤4,直到所有的分数位乘法器被认为将被乘数转移到正确的每一点乘数,包括的主要„1”规格化的浮点数。 |
第六步:规范化最后数量如有必要,将对偏差指数递增。 |
d .尾数乘数使用Radix-4布斯算法(提出工作) |
乘法涉及两个基本操作即部分产品及其积累的一代。因此有两种可能的方法来加快乘法即降低部分产品的数量或加速积累。少数部分产品降低了复杂性;因此减少积累部分产品所需的时间。因此布斯算法加快乘法。 |
布斯算法提供了一个程序二进制整数相乘signed-2补充表示。基数- 4布斯编码器进行编码的过程中被乘数,基于乘数位。它将比较3位重叠技术。通过使用这种技术,部分产品减少一半。分组从LSB &第一块只使用两位乘法器和假设零第三位。例如 |
|
布斯算法扫描字符串给出了三位以上。附加一个0到右边的LSB的乘数。根据每个向量的值,每个部分产品将是0,+ M - M + 2米或2米。 |
布斯乘数提供: |
•在乘法 |
•更大的速度。 |
•低功耗。 |
•减少延迟。 |
E。标准化者 |
有效数字的乘法的结果(中间产品)必须规范化主要„1”小数点左边的。移位操作是使用组合逻辑由多路复用器。 |
下溢/溢出检测 |
下溢/溢出意味着结果“s指数太小/大指数领域的代表。同时添加两个指数可能发生溢出或正常化。溢出由于指数加法可以补偿在减法的偏见;导致一个正常输出值(正常运行)。可能发生一个下溢而减去的偏见形成中间指数。如果中间指数< 0,那么它的一个永远无法补偿的下溢;如果中间指数= 0,那么它的一个下溢补偿在规范化的加1。 |
仿真和结果 |
仿真结果为对应输入无花果所示。仿真使用Xilinx 9.1我完成。考虑到随机的64位浮点数, |
输入:= 25.5 |
b = 75.6 |
输出:25.5 * 75.6 = 1927.8 |
|
结论 |
介绍了双精度浮点乘法器的实现,展示了Shift-Add和Radix-4布斯算法之间的比较。Virtex-5,乘法器设计在Xilinx FPGA。乘数是更精确,因为它不实现舍入,只是提出了有效数字的乘法。相比Shift-Add乘数,Radix-4布斯乘数给高速,更少的延迟,利用更少的地区,低功率消耗。 |
表乍一看 |
|
|
表1 |
表2 |
|
|
数据乍一看 |
|
|
|
|
|
图1 |
图2 |
图3 |
图4 |
图5 |
|
|
|
|
|
图6 |
图7 |
图8 |
图9 |
图10 |
|
|
引用 |
- IEEE 754 - 2008年IEEE标准浮点算术,2008。
- Mohamed Al-Ashrfy阿萨勒姆和WagdyAnis“一个有效的浮点乘法器的实现”IEEE VLSI事务
- b .教唆犯和c·里纳德”,现场可编程门阵列和浮点运算”,IEEE VLSI,卷2,没有。3、365 - 367年,1994页。
- l . Louca t·a·库克和w·h·约翰逊,“实施IEEE单精度浮点加法和乘法在fpga上,“学报83年IEEE fpga定制计算机(FCCM”研讨会上96),页107 - 116,1996。
- n . Shirazi a·沃尔特斯,p . Athanas”定量分析浮点运算基于FPGA的自定义计算的机器,”《IEEE FPGA定制计算机(FCCM”研讨会上95),pp.155 - 162, 1995。
- Jaenicke和w·陆“fpga参数化浮点算术”,IEEE ICASSP Proc., 2001年,卷2,pp.897 - 900。
- [7]第六艾斯洛玛尔会议信号,系统,和电脑,2002年。
- “DesignChecker用户指南”,高密度脂蛋白设计师系列2010.2,导师图形,2010。
- “精密合成®用户手册》,精密RTL + 2010更新2,导师图形,2010。
- 帕特森,d &轩尼诗,j .(2005),计算机组织与设计:硬件/软件接口,摩根考夫曼。
|