用Logisim设计半加器、全加器和四位数二进制补码电路

用Logisim设计半加器、全加器和四位数二进制补码电路

一、下载Logisim数字逻辑仿真软件

从https://download.csdn.net/download/m0_74045503/88435139下载,先安装Java运行环境JDK,在运行Logisim。

二、设计一个1bit半加器电路

(一)、原理分析

​ 一位半加器是一个数字电路,,用于执行二进制加法中的最低有效位(LSB)的加法。它可以将两个输入位(A和B)相加,并产生两个输出:和(S)和进位(C)。其逻辑如下:和(S)输出是两个输入位的异或(XOR)运算。即,S=A⊕B。 进位(C)输出是两个输入位的与(AND)运算,即,C=A*B。下图为半加器的真值表:

ABCS
0000
0101
1001
1110
(二)、具体实现

​ 确保测试正确后,做出如下图的电路:

在这里插入图片描述

三、设计一个1bit全加器电路

(一)原理分析

​ 1位全加器是一种数字电路,用于执行二进制加法中的位加法。它和半加器不同之处在于,它可以处理来自前一位的进位。1位全加器接受三个输入:分别是两个待相加的位(A,B),和前一位的进位(C-in)。产生两个输出:和(S)以及进位(C-out)。其逻辑如下:和(S)的输出是A,B,C-in的异或运算结果。即,S=A⊕B⊕C-in。进位(C-in)的输出有两个部分,第一个部分是A和B的与运算,第二个部分是A和B的异或运算与C的与运算。

(二)具体实现

确保运算正确后,做出如下真值表:

在这里插入图片描述

四、实现一个四位数二进制补码电路

(一)原理分析和实现

要求:当输入一个4位二进制数后,补码电路将输出对应的4位二进制补码。

补码原理如下:
(1)正数与原码相同;
(2) 负数的补码,将其原码除符号位外的所有位取反(0变1,1变0,符号位为1不变)后加1。 同一个数字在不同的补码表示形式中是不同的。比如10进制数值-15的二进制原码是10001111,其补码在8位二进制中是11110001,然而在16位二进制补码表示中,不足位数要用符号位补全,也就是1111111111110001。

因为正数和负数的补码运算规则不一样,取决与输入二进制数的最高位(符号位)。从简单入手,可以先只考虑输入为负数情况的补码运算。补码运算中有一个加1运算,需要用全加器实现。 4位全加器可以用4个1位(bit)全加器级联得到。

真值表如下:

正数输入输出负数输入输出
0001000110011111
0010001010101110
0100010011001100
0011001110111101
0101010111011011
0110011011101010
0111011111111001

一种四位数二进制补码电路如下图:

在这里插入图片描述

(二)想法阐述

​ 于正数和负数的补码不同但是最高位与原码相同,所以把原码看成是三位数,最高位直接不变。首先考虑负数和正数都可行的取反数字逻辑表达式,该表达书不用引入其他外来输入,我自己是用的最高位数字,然后分别得到进位,之后用全加器输出每一位即可。

五、总结

首先根据题目要求按先后顺序做出每一部分的真值表,在根据真值表列出逻辑表达式并化简1然后设计出相应的逻辑电路。


  1. 建议自学逻辑表达式的化简 ↩︎

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值