Verilog专题(八)有符号的加法器signed adder设计

本文介绍了如何使用Verilog设计有符号的8位加法器,包括溢出条件的判断。通过HDLBits网站上的题目,探讨了当两个正数或负数相加时如何确定是否发生溢出,并提供了简洁的Verilog代码实现。
摘要由CSDN通过智能技术生成

前言

    对于verilog的学习,这里推荐一个比较好的实践网站HDLBits:https://hdlbits.01xz.net/wiki/Main_Page

    本系列记录一些我觉得有价值的题目,希望通过这些题目可以对verilog更加熟练。

 

有符号的加法器signed adder设计

    题目: 假设你有两个8位有符号的输入,即a [7:0]和b [7:0]。这些数字相加产生s [7:0],还要计算是否发生溢出情况。

module top_module (    input [7:0] a,    input [7:0] b,    output [7:0] s,    output overflow); endmodule

    

    一个有符号数的最高位代表正负,最高位是0代表正数,最高位是1代表负数。那什么时候会发生溢出(overflow)的情况?只有两个正数(负数)相加才会发生溢出,相减(即一正一负)是不会发生溢出的。

    两个正数相加(符号位都为0),如果结果为负数,则发生溢出;两个负数相加(符号位都为1),如果结果为正数,则发生溢出,其他情况都为没有发生溢出。因此我的答案如下

module top_module (    input 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值