欢迎来到天天文库
浏览记录
ID:56099508
大小:234.50 KB
页数:7页
时间:2020-06-19
《上海大学 Verilog 设计 32位浮点加法器设计.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、32位浮点加法器设计摘要:浮点数具有数值范围大,表示格式不受限制的特点,因此浮点数的应用是非常广泛的。浮点数加法运算比较复杂,算法很多,但是为了提高运算速度,大部分均是基于流水线的设计结构。本文介绍了基于IEE754标准的用Verilog语言设计的32位浮点加法器,能够实现32位浮点数的加法运算。虽然未采用流水线的设计结构但是仍然对流水线结构做了比较详细的介绍。关键字:浮点数,流水线,32位浮点数加法运算,Verilog语言设计32-bitfloatingpointadderdesignCaoChi,ShenJia-qi,ZhengYun-jia(S
2、choolofMechatronicEngineeringandAutomation,ShanghaiUniversity,Shanghai,China)Abstract://沈佳琪搞定Keywords:float;Assemblyline;32-bitfloating-pointadder浮点数的应用非常广泛,无论是在计算机还是微处理器中都离不开浮点数。但是浮点数的加法运算规则比较复杂不易理解掌握,而且按照传统的运算方法,运算速度较慢。因此,浮点加法器的设计采用了流水线的设计方法。32位浮点数运算的摄入处理采用了IEE754标准的“0舍1入”法。1
3、.浮点数的介绍在处理器中,数据不仅有符号,而且经常含有小数,即既有整数部分又有小数部分。根据小数点位置是否固定,数的表示方法分为定点表示和浮点表示。浮点数就是用浮点表示法表示的实数。浮点数扩大了数的表示范围和精度。浮点数由阶符、阶码E、数符、尾数N构成。任意一个二进制数N总可以表示成如下形式:N=。通常规定:二进制浮点数,其尾数数字部分原码的最高位为1,叫作规格化表示法。因此,扩大数的表示范围,就增加阶码的位数,要提高精度,就增加尾数的位数。浮点数表示二进制数的优势显而易见。(阶符)(阶码)(数符)(尾数)浮点数基于IEE754标准的表示形式如下:3
4、13023220SEM32位浮点数:636252510SEM64位浮点数:在IEEE754标准格式表示的32位浮点数中,S表示浮点数的符号位,0表示正数,1表示负数;M表示尾数,共23位,用小数表示,小数点放在尾数域的最前面;E表示阶码,共8位,采用移码方式表示正负指数。移码方法对两个指数的大小的比较和对阶操作比较方便。采用这种方式时,浮点数的指数真值e变成阶码E时,应将指数e加上一个固定的偏移地址127(二进制数01111111),即E=e+127。在IEEE754标准中,一个规格化的32位浮点数X的真值可表示为X=(-1)s×(1.M)×2E-1
5、27 e=E-127一个规格化的64位浮点数x的真值为X=(-1)s×(1.M)×2E-1023e=E-1023为提高数据的精度,当尾数的值不为0时,尾域的最高有效位为1,否则修改阶码同时左右移动小数点,使其变成规格化表示的浮点数。这一过程称之为规格化表示。当浮点数的尾数为零时,不论阶码为何值或者阶码的值遇到比它所能表示的最小值还小时,不管其尾数为何值,计算机都把该浮点数当做零值。原码非0值浮点数的尾数值最高位必定为1,在保存浮点数时,通过尾数左移(小数点向右移动)把该位去掉,用同样多的位数能多存一位二进制数,有利于提高数据表示精度,这种处理方案称之
6、为隐藏位技术。32位浮点数的表示范围有限,超过该范围的浮点数会产生溢出。溢出分为正上溢和负上溢。2.32位浮点数加法运算浮点数的加法运算与二进制数直接进行加法运算区别是很大的。浮点数的加法运算分为以下几个步骤:(1)0操作数的检查;(2)比较阶码大小并完成对阶;(3)尾数进行加法运算;(4)结果进行规格化处理;(5)舍入处理;(6)溢出处理。0操作数的检查是判断两个数据是否为零,若有一个数据为0则直接输出结果;比较两个数据的阶码大小,并通过尾数的移动来改变阶码使其相等。对阶的过程要遵循阶码小的向阶码大的数对齐,小阶的尾数右移,每右移一位,阶码加一。尾
7、数求和运算与一般二进制数的加法运算相同;在尾数相加后得到的数可能不是规格化的数,为了提供运算的精度,就必须对求和的结果进行规格化处理。当运算结果溢出时,进行右归。左归时阶码做减法,右归时阶码做加法。在IEEE754标准中,舍入处理提供了四种方法:(1)就近舍入:实质上就是通常所说的“四舍五入”。(2)朝0舍入:朝数轴原点方向舍入,就是简单的截尾。无论尾数是正数还是负数,截尾都使取值的绝对值比原值的绝对值小。(3)朝+∞舍入:对正数来说,只要多余位不全为0则向最低有效位进1;对负数来说则是简单的截尾。(4)朝—∞舍入:处理方法与朝+∞舍入情况相反。对正
8、数来说只要多余位不全为0则简单截尾;对负数来说,向最低有效位进1。(5)与一般二进制数的加法运算相似,浮点数
此文档下载收益归作者所有