32位浮点数加法器基于system verilog设计

本文介绍了如何使用System Verilog设计一个32位浮点数加法器,该加法器能处理特殊数字,包括零、正无穷、负无穷和NaN。设计包括对阶、尾数加法、规格化和溢出操作等步骤,并通过状态机实现。文章提供了仿真结果和程序代码。
摘要由CSDN通过智能技术生成

上一篇文章中学习了32位浮点数的表示方法。现在正式的采用system verilog来设计一个加法器

设计要求

设计一个32位浮点数加法器,可以实现串行输入的两个标准化的32位浮点数的相加并得到标准化的结果。此外该加法器能处理“特殊”数字:零、正无穷、负无穷和“非数字(NaN)”
加法器有一个32位输入总线和一个32位输出总线,有一个’ ost '输出,当ost信号高电平有效时,表示计算结束,输出的sum有效。

设计思路

32位浮点数加法运算步骤
第1步:前端处理,得到数符、阶码、尾数 inputa,inputb
第2步:检查全0操作数 zerock
第3步:对阶。使得阶码(即指数)相等 exequal
第4步:尾数进行加(减)法运算,并处理进位 add
第5步:对运算结果规格化处理,还原为IEEE浮点格式 infifl
第6步:舍入操作
第7步:溢出操作
使用状态机完成上述步骤,共有八个状态如下,其中start为初始缓冲状态,over为输出计算结果状态。
{start,inputa,inputb,zerock,exequal,add,infifl,over} state;//8个状态
在这里插入图片描述
顶层模块如

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值