32位浮点加法器设计.doc

上传人:ni****g 文档编号:558619702 上传时间:2023-05-09 格式:DOC 页数:4 大小:501KB
返回 下载 相关 举报
32位浮点加法器设计.doc_第1页
第1页 / 共4页
32位浮点加法器设计.doc_第2页
第2页 / 共4页
32位浮点加法器设计.doc_第3页
第3页 / 共4页
32位浮点加法器设计.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《32位浮点加法器设计.doc》由会员分享,可在线阅读,更多相关《32位浮点加法器设计.doc(4页珍藏版)》请在金锄头文库上搜索。

1、32位浮点加法器设计苦行僧宫城摘要:运算器的浮点数能够提供较大的表示精度和较大的动态表示范围,浮点运算已成为现代计算程序中不可缺少的部分。浮点加法运算是浮点运算中使用频率最高的运算。因此,浮点加法器的性能影响着整个CPU的浮点处理能力。文中基于浮点加法的原理,采用Verilog硬件描述语言设计32位单精度浮点数加法器,并用modelsim对浮点加法器进行仿真分析,从而验证设计的正确性和可行性。关键词: 浮点运算 浮点加法器 Verilog硬件描述语言Studying on Relation of Technology and Civilization苦行僧宫城 (School of Mecha

2、tronic Engineering and Automation, Shanghai University, Shanghai , China)Abstract: The floating-point arithmetic provides greater precision and greater dynamic representation indication range, with floating point calculations have become an indispensable part of the program. Floating-point adder is

3、the most frequently used floating point arithmetic. Therefore, the performance of floating point adder affecting the entire CPU floating point processing capabilities. In this paper the principle-based floating-point addition, Verilog hardware description language design 32-bit single-precision floa

4、ting-point adder and floating-point adder using modelsim simulation analysis in order to verify the correctness and feasibility of the desig小组成员及任务分配:1浮点数和浮点运算1.1浮点数 浮点数是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数。具体的说,这个实数由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到,这种表示方法类似于基数为10的科学记数法。1.2浮点格式常用的浮点格式为 IEEE 754

5、标准,IEEE 754 标准有单精度浮点数、双精度浮点数和扩展双精度浮点数3 种,单精度为32 位,双精度为64 位,扩展双精度为80 位以上,位数越多精度越高,表示范围也越大。在通常的数字信号处理应用中,单精度浮点数已经足够用了,本文将以它为例来设计快速浮点加法器。单精度浮点数如图1所示。 其中s为符号位,s为1 时表示负数,s为0时表示正数;e为指数,取值范围为1,254,0和255表示特殊值;f有22位,再加上小数点左边一位隐含的1总共23位构成尾数部分。1.3 浮点运算 浮点加法运算由一些单独的操作组成。在规格化的表示中,对于基为2的尾数的第1个非0位的1是隐含的,因此,可以通过不存储

6、这一位而使表示数的数目增加。但在进行运算时不能忽略。浮点加法一般要用以下步骤完成:a) 指数相减:将2个指数化为相同值,通过比较2个指数的大小求出指数差的绝对值E。b) 对阶移位: 将指数较小的操作数的尾数右移E位。c) 尾数加减:对完成对阶移位后的操作数进行加减运算。d) 转换:当尾数相加的结果是负数时,要进行求补操作,将其转换为符号2尾数的表示方式。e) 前导1 和前导0 的判定:判定由于减法结果产生的左移数量或由于加法结果产生的右移数量。f) 规格化移位:对尾数加减结果进行移位,消除尾数的非有效位,使其最高位为1。g) 舍入:有限精度浮点表示需要将规格化后的尾数舍入到固定结果。由以上基本

7、算法可见,它包含2 个全长的移位即对阶移位和规格化移位,还要包括3 个全长的有效加法,即步骤c 、d、g。由此可见,基本算法将会有很大的时延。2 32位浮点加法器设计与实现 基于上述浮点数的加法运算规则,我们小组主要的设计思路是:1. 前端处理,还原尾数2. 指数处理,尾数位移使指数相等 3. 尾数相加4. 尾数规格化处理5. 后端处理,输出浮点数设计代码如下:仿真结果如下:3 3 Verilog 实验报告总结此次实验,从国庆过后开始,28日结束,在小组三个人的共同努力下,克服多次失败过后,终于把波形调了出来。实验过程中遇到了许多在之前没有遇过过的问题,其中文件关联尤为突出,还有一些Veril

8、og的语法问题,通过这次实验,学到了许多实际编程有用的东西,特别是对Top_dowm和bottom-up的设计思路,有了更为深刻的理解。1.设计过程总结本次实验采用Top_down的设计思路,在弄清楚了浮点数加法的基本规则过后,即清楚输入输出,从而拟定几个基本的输入,ia,ib,ena,reset和clk,即用于计算的两个浮点数ia和ib 根据要求,其位宽定为32位,之后就是一个重置端reset,和脉冲信号clk,最后就是使能端ena,当然,有输入肯定有输出了,综合浮点数的两个标准,尾数和指数,即ze和zm,应浮点数的一般大小,暂时把ze设为8位,zm设定为24位,即暂定为两个输出端口,但是,

9、作为一个完整的输出结果,在输入信号的综合完成后,明显只有一个输出数是不完整的,因此我们增加了一个辅助输出,即driver。输入输出结束过后,就是对一些寄存器的定义了,显然,在对输入的锁存状态有一些特别的考虑,即ia和ib暂时锁存在一个状态中,然后通过浮点加法规则,对寄存器取值计算,最后输出结果,具体加法器算法参考网络。完整的加法器大概框架构建出来过后,剩下的除了用适当的verilog代码进行填充之外,还要做一个完整的TB来进行测试,关于TB,我们初拟定两个固定的32位二进制数ia和ib,即32h41A00000和32H41080000,最后通过检测通过加法器运算的结果和理论值,来判断所设计的加

10、法器是否满足要求。综上,即为本次实验的大概设计思路。2.代码编写过程总结在拟定了实验大概构架过后,我们查询了相关verilog的语法规则,在对网络给出的代码进行详细解读和分析过后,在小组三人的共同努力下,对写出的代码作出了细致的解释,特别是对寄存器和相关网络借口的注释更为详尽。当然,参考代码毕竟不是抄袭,在保留自己大概思想的前提下,对几个错误之处,进行对应修改。3.仿真过程总结仿真,即在软件上面modisim上面仿真了。仿真之前,针对加法器的具体仿真要求,我们编出了相对的测试tb,但是一般第一次仿真都是以失败告终的,我们也不出意外,在对两个文件编译成功过后,我们对两个文件进行关联,可是就是关联

11、不上,如下图:图一然后我们又把两个代码拿出来进行对比,终于在两个文件的模块接口处找到了问题,接口如图: 图二图三即发现加法器中多了一个端口,但是在TB当中又找不到ze和zm两个端口,很明显,第一个错误是由于马虎造成,后面通过对TB的修改,添加了新的寄存器ze和zm,因此在加法器的接入端口上面将zo端口用这两个新增的端口代替,再进行仿真。后面波形是出来了,但还是不对,即只有tb中输入的波形,没有输出的波形,仿真波形如下:图四最后检查还是端口接法不对,修改,仿真,得到如下波形: 图五进检验,满足要求。仿真过程结束。4.实验结果分析总结整个实验过程就是一个提成方案,描述方案,找到问题,解决问题的过程

12、,并且通过这个过程来找到实验的意义。通过这次实验,主要是对浮点数的运算用verilog代码来描述有了更加深刻的认识,同时也为其他的数据算法用verilog描述有了进一步的心得。为用verilog构建复杂的数据模块奠定基础,对今后的数字电路设计有深刻的影响。5.小组成员分工及总结此次实验,小组分工是十分明确的,整个实验任务主要分为两块,实验和论文的书写,实验由三个人共同负责,一起讨论,一起对代码进行修改和仿真。然后,论文的书写就主要分为三块,前面的对浮点加法器的介绍主要由*负责,中间部分的实验描述,框图及其说明由*负责,最后的实验总结及整个写好后的论文修改由*负责。整个过程分工明确,协调进行,配合清楚。6.心得体会实验过后,终于长长的舒了一口气,这个课程的任务终于要完成了,当然,实验,仅仅是检验学习的一种途径,在后面,更应该多多练习,熟悉并掌握这门实用的数字电路工具。贯穿整个实验,小组成员之间紧密配合,在团队合作,共同进步的思想下,收获了很多个体与团队间的经验,但更多的,还是对课程知识的运用和总结,总得说来,这次实验让大家受益匪浅。参考文献:http:/ 王颖 林正浩 同济大学微电子中心

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号