利用Logisim设计半加器、全加器及补码电路

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

Logisim是一种用于设计和模拟数字逻辑电路的教育工具。它非常简单,凭借其简单的工具栏界面和构建它们时的电路仿真,有助于学习与逻辑电路相关的最基本概念。

对于Logisim的下载安装,在网上可以找到相关安装包资源,可以选用合适自己电脑的版本进行安装。

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

在二进制基本运算中,多位数的基本运算可以转化为多个一位数加减,也就是1bit的运算。而半加器就是将两个一位二进制数相加,且不考虑低位送来的进位数的工具,即只有加数和被加数相加。

首先我们发现当两个数都为0或1时,末尾数都为0(为0或进位0),且进位时,必定满足两个数均为1.因此,在Logisim中,我们可以采用异或门和与门结合设计一个简单的半加器,参考如下:
在这里插入图片描述

在以上半加器中,A、B对应输入的两个数,X、Y对应两位输出,输入输出的数据如下表:

ABXY
0000
0101
1001
1110

三、在完成1bit半加器电路基础上,实现一个1bit全加器电路

在半加器中,我们可以发现它是不计入低位送来的进位数的。而在绝大多数运算中,都要考虑低位送来的进位数。因此,需要计算更加完善的全加器。

当两个多位二进制数相加时,除了最低位以外,第二位以上的相加需要考虑低位的进位,即将两个待加数以及一个低位送来的进位数这三个数相加,得出本位和(全加和)和进位数。这种相加就叫全加。

在设计全加器时,因为会有三个数进行运算,因此可以简化为先进行两个输入数的运算,再进行其和与进位数的运算,即两次1bit运算。同时,在计算结果时,除了结果数,还要提出进位数供下一位计算。因此,在Logisim中,我们可以采用两个半加器相结合的方式设计一个全加器,参考如下:

在这里插入图片描述

在以上全加器中,A、B对应输入的两个数Cin对应低位的进位数,S对应输出,Cout对应提供给高位的进位数,输入输出的数据如下表:

ABCinCoutS
00000
00101
01001
01110
10001
10110
11010
11111

四、用Logsim设计实现一个4位二进制数的补码器电路

1、补码原理

(1)正数与原码相同;

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

2、设计电路

首先,我们尝试设计一个4位二进制数的补码器电路,要求:当输入一个4位二进制数后,补码电路将输出对应的4位二进制补码。

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

在这里插入图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
很抱歉,根据提供的引用内容,没有找到与“logisim16路全加器”相关的信息。但是,我可以为您提供关于logisim实现1bit半加器、1bit全加器和4位二进制数的补码电路的信息。 1. logisim实现1bit半加器 1.1 bit半加器工作原理 半加器是一种能够对两个二进制位进行相加并产生两个输出(和与进位)的电路半加器的真值表如下: | 输入A | 输入B | 输出和 | 输出进位 | |-------|-------|--------|----------| | 0 | 0 | 0 | 0 | | 0 | 1 | 1 | 0 | | 1 | 0 | 1 | 0 | | 1 | 1 | 0 | 1 | 2. logisim实现1bit半加器,保存为子电路,文件名为half_adder 在logisim中,可以使用逻辑门来实现半加器。将两个输入分别与一个异或门和一个与门相连,异或门的输出即为和,与门的输出即为进位。将实现好的半加器保存为子电路,文件名为half_adder。 3. logisim实现1bit全加器 1.1 bit全加器工作原理 全加器是一种能够对三个二进制位进行相加并产生两个输出(和与进位)的电路全加器的真值表如下: | 输入A | 输入B | 输入进位 | 输出和 | 输出进位 | |-------|-------|----------|--------|----------| | 0 | 0 | 0 | 0 | 0 | | 0 | 0 | 1 | 1 | 0 | | 0 | 1 | 0 | 1 | 0 | | 0 | 1 | 1 | 0 | 1 | | 1 | 0 | 0 | 1 | 0 | | 1 | 0 | 1 | 0 | 1 | | 1 | 1 | 0 | 0 | 1 | | 1 | 1 | 1 | 1 | 1 | 2. logisim实现1bit全加器,保存为子电路,文件名为full_adder 在logisim中,可以使用逻辑门来实现全加器。将三个输入分别与两个异或门和一个与门相连,异或门的输出即为和,与门的输出即为进位。将实现好的全加器保存为子电路,文件名为full_adder。 3. 将设计好的1bit全加器进行封装,进入封装编辑模式得到封装后的全加器logisim中,可以将实现好的1bit全加器进行封装,以便在其他电路使用。将1bit全加器选中,右键点击“封装子电路”,进入封装编辑模式。在编辑模式中,可以为全加器添加输入输出端口,并设置端口的名称和位宽。完成封装后,可以在其他电路使用封装后的全加器。 4. 用Logsim设计实现一个4位二进制数的补码电路 1. 补码原理如下: 在计算机中,负数通常使用补码表示。补码的计算方法如下: - 对于正数,补码等于原码。 - 对于负数,补码等于其绝对值的原码按位取反后加1。 例如,-3的补码为11111101。 2. 先只考虑输入为负数情况的补码运算 在logisim中,可以使用逻辑门和多路选择器来实现补码电路。对于输入为负数的情况,可以先将输入的绝对值取反,然后加1得到补码。具体实现方法可以参考补码的计算方法。 3. 任意四位二进制数的补码 对于任意四位二进制数,可以将其拆分为符号位和数值位。对于正数,符号位为0,数值位为原码;对于负数,符号位为1,数值位为其绝对值的原码按位取反后加1。将符号位和数值位分别输入补码电路,即可得到对应的补码

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值