从零开始的EDA学习笔记——浮点数减法器(一)

本文详细介绍了浮点数加减法的原理,包括对阶、小数加减、规格化、舍入和溢出检查等步骤,并基于IEEE754标准的短实数形式进行讲解。同时,文章还分享了使用Quartus软件建立工程的过程,从创建项目到添加文件、选择器件、设置EDA工具,直至代码编写与编译。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学校要求的课设,两人一组,全部自学,记录一下学到的知识点。

浮点数加减法

浮点数由符号(阶符和数符,阶符与阶码存储在一起),小数(或尾数,是定点数),阶码和基数构成。例如: 2^(0010) * 0.11000101
0.11000101为小数,0010为阶码,2为基数。二进制表示时从高位到低位依次为符号位,阶码和小数。
课设要求采用浮点数IEEE754标准的短实数形式,即一位符号位,八位阶码,二十三
位小数,共32位。

  1. 对阶:比较两数阶码大小,不相等时,将原来小阶码化为大阶码。△E=|x-y|(阶码相差的 位数)。阶码小数其小数右移△E位,阶码加上△E,浮点数的值不变但是精度减小。原码右移补零且符号位不参与右移。补码移位规则:
    对于正数,符号位不变,不论左移还是右移,空出位一律以0补入
    对于负数,符号位不变,左移后的空出位补0,右移后的空出位补1
  2. 对两个对阶后的数实现小数的加减。
  3. 对结果进行规格化处理。(即基数为2时,小数应表示为01XXX……;基数为4时,表示为001XXX……)
  4. 舍入:因为对阶和计算阶段,小数结果位数会比要求的位数多,需要舍去一些高位。若舍去的数字为1,则在右移后的末尾加1,若为零,直接舍去即可。另一种方法无论舍去的高位是什么,都把结果最低位置1。
  5. 检查是否溢出。(若溢出,则结果的阶码符号位与运算数的不相同)

建立一个Quartus工程

一开始建立项目的时候总是报错,没有安装设备什么的(No install devices叭叭叭),发现是忘记下载器件库了。这里安装破解使用的是一篇博客里的教程:
点击这里资源与教程

  1. File>New Project Wizard next 填写工程位置,工程名称和顶层实体名称(二者需一致);
  2. 添加文件,有需要添加的文件即添加,没有则next;
  3. 选择FPGA器件(器件系列,型号,管脚数芯片型号等),next;
  4. 设置EDA工具,需要仿真的话,在Tool Name>Simulation中选择Module(需要下载),语言verilog HDL ;
  5. 最后会有一个总结页面,finish即可。
  6. 新建代码文件File>New…>Design Files>verilog HDL files,文件若是顶层实体,需与顶层实体名相同;
  7. 在刚刚建好的文件里就可以写代码了,模块名与文件名相同;
  8. 完成代码后Processing>start Compilation开始编译代码,根据报错内容修改代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值