数字电路运算器分析

文章目录

1. 半加器

2. 加法器

3. 4位加法器 

4. 半减器

5. 减法器

6. 4位减法器


1. 半加器

现在我们来考虑如何用电路来实现1位加法。假如有两个1位二进制数A、B,它们的和为1位二进制数S,那么存在下面几种情况:

  • 如果A=0,B=0,那么S=0;
  • 如果A=1,B=0,那么S=1;
  • 如果A=0,B=1,那么S=1;
  • 如果A=1,B=1,那么S=0,而且产生一个进位C=1。

也就是说,对于加法运算,应该两个输入A和B,两个输出S和C,S表示和,C表示是否产生进位,也就是说真值表如下图所示:但是这个电路不能用于多位复杂的计算。所以叫半加器。

其中A、B与S的关系为异或,与C的关系为与,得到如下电路图:

对于搭建电路,每次都从零开始搭建太耗费时间,所以我们会把这些搭建好的电路封装为一个组件,在软件中将电路另存到 Digital的安装目录的lib中。

在这里新建一个文件夹,把所有封装的组件都保存到这里。保存完成后,就可以在软件中选择组件——库——Code——(选择保存的封装库)

2. 加法器

半加器实现了一位全加器。但是半加器只能处理两个数的运算,但在实际计算中,如果我们做加法的两个位不是最低的位,那就要考虑低位可能产生的进位。也就是说,一个功能完整的1位加法器,应该考虑三个输入,除了A、B两个加数,还要考虑是否存在低位进位Cin。

为了处理三个数相加,我们可以用两个半加器分别处理两个累加过程,同时两个累加器产生的进位C1和C2,不可能同时为1,(因为如果C1位1,那么S1=0,S1=0,C2不可能为1)(前面的是半加器1,后面的是半加器2),且二者只要有一个为1,则输出进位为1,所以关系为或,最终呈现的电路如下:其中的黄色方块为子电路,内容就是刚才封装保存的半加器。

 一位全加器的真值表如下所示:

3. 4位加法器 

多位加法器就是多个加法器的串联,下面以4位加法器为例来展示多位加法器电路:

添加输入Cin,A,B,右键点击A和B,将位数调整为4;

添加两个“组件——导线”中的分裂器,右键点击将其设置如下图所示。

将分裂器输入端与A、B相连,并添加8个“组件——导线”里面的隧道,分别命名为A0、A1、A2、A2、B0、B1、B2、B3,并接在分裂器的输出端,然后添加输出S,并将位数调整为4,并添加分裂器,输入设置为1,1,1,1,输出为4,并将输出端连接到S,输出端连接四个隧道S0、S1、S2、S3,如图示:如图示:

添加四个加法器子电路,并将进位由低到高串联,然后添加12条隧道,分别与A、B、S的隧道对应,连接到加法器的输入端,最后添加输入Cin和输出Cout,最终效果如图所示:

这个电路可以实现16位以下的加法计算。 

和逻辑门电路一样,在搭建计算机时用到多位加法器时,不需要再次绘制该电路,直接使用“组件——运算器”中的加法器,如图所示: 

4. 半减器

 现在来考虑如何用电路来实现1位减法。假如有两个1位二进制数A、B,它们的和为1位二进制数S,那么存在下面几种情况:

  • 如果A=0,B=0,那么S=0;
  • 如果A=1,B=0,那么S=1;
  • 如果A=0,B=1,那么S=1;需要向上一位借1。
  • 如果A=1,B=1,那么S=0。

也就是说,对于减法运算,应该两个输入A和B,两个输出S和C,S表示结果,C表示是否向上一位借1,也就是说真值表如下图所示:同样的这个电路不能用于多位复杂的计算。所以叫半减器。

 其中A、B与S的关系为异或,得到如下电路图:

和半加器一样,为了实现多位计算,将其封装为一个组件用于之后使用。 

5. 减法器

最终呈现的电路如下:其中的黄色方块为子电路,内容就是刚才封装保存的半减器。

 一位全加器的真值表如下所示:

6. 4位减法器

和多位加法器一样,就是多个减法器的串联,下面以4位减法器为例来展示多位减法器电路:

输入端口(A, B, C_in)

  • A和B是两个4位二进制数,分别用A0-A3和B0-B3表示。
  • C_in是初始进位输入(也可以看作借位输入)。

1位减法器模块

  • 每个1位减法器模块有三个输入:A, B, 和 C_in(上一个减法器的借位输出)。
  • 每个1位减法器模块有两个输出:S(差)和C_out(借位输出)。

输出端口(S, C_out)

  • S是4位差输出,分别用S0-S3表示。
  • C_out是最终的借位输出。

工作原理

  1. 1位减法器的基本逻辑

    • 减法器的工作原理是基于二进制减法和借位的概念。
    • 对于每一位的减法器,它执行的操作是:A - B - C_in。
    • 输出S是当前位的差,输出C_out是借位信号,如果需要从下一位借位,C_out为1。
  2. 链式连接

    • 这些1位减法器是链式连接的,也就是说,一个减法器的借位输出(C_out)连接到下一个减法器的借位输入(C_in)。
    • 这样就实现了多位二进制数的减法运算,借位信号可以从低位传递到高位。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/28802.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RTC实时时钟

一、Unix时间戳 1、Unix 时间戳 (1)Unix 时间戳(Unix Timestamp)定义为从UTC/GMT的1970年1月1日0时0分0秒开始所经过的秒数,不考虑闰秒 (2)时间戳存储在一个秒计数器中,秒计数器为…

行业分析---揭开新工业革命序幕的英伟达

1 背景 在之前的博客中,笔者撰写了多篇行业类分析的文章(科技新能源): 《行业分析---我眼中的Apple Inc.》 《行业分析---马斯克的Tesla》 《行业分析---造车新势力之蔚来汽车》 《行业分析---造车新势力之小鹏汽车》 《行业分析-…

如何设置天锐绿盾的数据防泄密系统

设置天锐绿盾的数据防泄密系统,可以按照以下步骤进行: 一、系统安装与初始化 在线或离线安装天锐绿盾数据防泄密系统,确保以管理员身份运行安装包,并按照安装向导的提示完成安装。输入序列号进行注册,激活系统。 二…

AI会淘汰程序员吗?提示词工程师是答案吗?

在科技领域,每两年就会有一个热门概念,吸引大量的人力、物力投入,大数据、区块链、WEB3、5G、元宇宙莫不如此,2023年爆火的AI会是下一个雷声大雨点小的泡沫吗? 这个问题其实不太好回答,在元宇宙兴起初期&a…

汽车传动系统为汽车动力总成重要组成部分 我国市场参与者数量不断增长

汽车传动系统为汽车动力总成重要组成部分 我国市场参与者数量不断增长 汽车系统主要包括动力系统、制动系统、传动系统、转向系统、行驶系统、燃油供给系统、照明系统以及电器系统。汽车传动系统指能够将发动机产生的动力转化为车辆行驶驱动力的动力传递装置。汽车传动系统为汽…

利用原生HTML + CSS + JS实现歌词滚动

对于很多音乐APP,都有这么一个功能,就是根据歌曲的进度来控制对应的歌词滚动,如下图所示: 大概这样的效果,我此次是使用原生的HTMLCSSJS来实现的,以下是具体的实现过程。 1. 数据获取与处理 对于数据来源&…

40、基于深度学习的线性预测设计(matlab)

1、原理及流程 深度学习的线性预测是一种利用深度神经网络模型进行线性回归预测的方法。其设计原理主要基于神经网络的层次化特性,利用多层感知器(MLP)等模型进行特征学习和非线性变换,从而提高线性预测的准确性。 设计流程如下…

Siemens-NXUG二次开发-创建平面(无界非关联)、固定基准面[Python UF][20240614]

Siemens-NXUG二次开发-创建平面(无界非关联)、固定基准面[Python UF][20240614] 1.python uf函数1.1 NXOpen.UF.Modeling.CreatePlane1.2 NXOpen.UF.ModlFeatures.CreateFixedDplane 2.示例代码2.1 pyuf_plane.py 3.运行结果3.1 内部模式3.1.1 NXOpen.UF…

应变玻璃合金是航天产业重要弹性材料 研究开发意义重大

应变玻璃合金是航天产业重要弹性材料 研究开发意义重大 应变玻璃,是一种形状记忆合金,为纳米级材料,其短程有序晶格应变区域呈冻结状态,具有典型的玻璃化转变特征,可以对外界刺激产生应变反应,也称为应变玻…

【网络编程开发】17.“自动云同步“项目实践

17."自动云同步"项目实践 文章目录 17."自动云同步"项目实践项目简介功能需求需求分析实现步骤 1.实现TCP通信server.c 服务端tcp.hclient.c 客户端 函数封装tcp.ctcp.hserver.cclient.c编译运行 2.实现文件传输sever.cclient.ctcp.ctcp.hMakeifle编译运行…

MES管理系统中的质量管理活动是什么

在制造业的广阔天地中,质量管理如同航船的指南针,指引着产品品质的航行方向。而随着科技的日新月异,MES管理系统在质量管理领域扮演着越来越重要的角色。MES管理系统不仅连接了企业的管理层与车间生产现场,更在质量管理的各个环节…

RS485常见问题及解决方法

RS485常见问题及解决方法 RS485总线是工业上最常用的通信方式之一,在实际布线或使用过程中通常会出现一系列问题,今天总结一些平时RS485通讯可能会出现的通讯问题及其解决方法以供大家参考。 一、什么是RS485? RS485,全称为TIA…

QT(超详细从0开始)

目录 1.2 Qt的优点 2.安装Qt 3.创建项目 4.解读Qt自动生成的代码 ​编辑 5.Qt Designer 6.Qt对象数 7.Qt乱码问题 8.Qt坐标系的认识 9.信号和槽 9.1 connect 9.2 自定义槽函数 9.3 自定义信号 9.4 断开信号链接(disconnect) 9.5.lambda表…

家庭智能助手:Kompas AI引领家居智能化新纪元

一、引言 在数字化浪潮的推动下,现代家庭生活正迅速向智能化转型。从简单的自动化设备到复杂的智能家居系统,智能技术正悄无声息地改变我们的日常生活。Kompas AI作为一款前沿的家庭智能助手,不仅预示着家庭生活的未来趋势,更以其…

帕金森运动小贴士,壁纸里的健康密码

🌟 在这个快节奏的时代,我们越来越关注身体的健康。今天,我想和大家分享一份特别的小贴士,它藏在一张精致的小红书壁纸里,是关于帕金森病的运动建议。帕金森病是一种常见的神经系统疾病,适当的运动对于缓解…

小米充电宝怎么样?西圣、小米、罗马仕充电宝测评谁是卷王!

充电宝说实话在我们日常生活中还是非常常见的一个出门必备的充电设备,除了出门必须带数据线之外,充电宝也是不例外的,对于手机不耐电的朋友来说在外面有一个充电宝简直就是蓄电“救星”,什么都可以不带但是充电宝是必带的一款装备…

Ubuntu 在线或离线安装docker

查看自己的ubuntu版本 在终端中执行以下命令: lsb_release -a 终端中的复制粘贴: ctrl shift c ctrl shifr v 在线安装docker(不需要外网): 命令行安装:Ubuntu Docker -- 从入门到实践 看完…

6月17日(周一),AH 股行情总结

AI手机及苹果概念股全日走强,领益智造、山东精密等多股涨停,立讯精、歌尔股份涨逾6% 。新车型秦L销售预期提振股价,比亚迪涨超1% ;航运、煤炭、地产板块下跌。 文章正文 周一,A股低开高走,上证指数收跌0.…

2024年了! 为什么还在用串口服务器?

在数字化飞速发展的2024年,串口服务器这一看似古老的技术仍然在工业自动化、远程监控和数据通信等领域发挥着重要作用。本文将从串口服务器的定义、功能、优势和使用场景四个方面来探讨,为什么串口服务器在今天仍然被广泛使用。 1. 什么是串口服务器 串口…

拉依达的嵌入式学习和秋招经验

拉依达的嵌入式学习和秋招经验 你好,我是拉依达。目前我已经结束了自己的学生生涯,开启了人生的下一个阶段。 从研二准备秋招开始,我就逐渐将自己的学习笔记陆续整理并到CSDN上发布。起初只是作为自己学习的备份记录,后续得到了越…