组合逻辑电路(一)(加法器)

目录

组合逻辑电路的特点及功能描述

采用SSI的组合逻辑电路的分析与设计

采用SSI的组合逻辑电路的分析

采用SII的组合逻辑电路的设计 

常用的MSI组合逻辑电路

半加器 

全加器

加法器

串行进位加法器 

例 

例 

超前进位加法器 


组合逻辑电路的特点及功能描述

小规模集成电路(SSI):一个封装内部的逻辑门个数小于12个的集成电路

中规模集成电路(MSI):一个封装内部有12~100个等效逻辑门的集成电路

组合逻辑电路在逻辑功能上的特点是:电路在任何时刻的输出状态仅仅取决于该时刻电路输入信号的状态,而与电路原有的状态无关,没有记忆功能

组合逻辑电路在结构上的特点是:由各种门电路构成,不含存储元件 

采用SSI的组合逻辑电路的分析与设计
采用SSI的组合逻辑电路的分析

分析步骤

写输出逻辑函数表达式

根据给出的逻辑电路,从输入到输出或从输出到输入逐级写出各级门电路的输出逻辑函数式,合并整理

逻辑函数化简或变换

利用公式化简法或卡诺图化简法将得到的表达式化简或变换,求出最简逻辑函数式

列真值表

将输入变量的各种取值组合(通常按二进制数递增顺序排列)代入输出逻辑函数式进行计算,求出相应的输出函数值,并一一对应地列出真值表

说明电路功能逻辑

根据化简后的输出逻辑函数表达式或真值表说明电路的逻辑功能

采用SII的组合逻辑电路的设计 

设计步骤

列真值表

首先根据命题分析事件的因果关系,确定输入变量和输出变量,一般把事件的起因定为输入变量,把事件的结果作为输出变量,然后对逻辑变量进行赋值

所谓逻辑赋值,就是用二值逻辑的0、1分别表示输入变量和输出变量的两种不同状态,最后根据输出和输入变量之间的因果关系列出真值表

写输出逻辑函数式

将真值表中输出逻辑函数值为1所对应的各个最小项进行逻辑加,便得到输出逻辑函数的最小项表达式

逻辑函数化简或变换

逻辑函数化简或变换与选择的器件型号有关

为了获得简单的设计结果,通常采用卡诺图法或代数法对逻辑函数进行化简

当所用器件的种类有所限制时,则要将函数表达式变换成与器件种类相适应的形式
 

画逻辑电路图 

根据化简或变换后的逻辑函数表达式画出逻辑电路图

分析电路的逻辑功能  



本题有两个输入变量A和B,一个输出变量F

出现了三种逻辑符号

非逻辑

与非逻辑

与逻辑

对于A输入变量上边与B非相与非,为\overline{A\bar{B}}

对于B输入变量下边与A非相与非,为\overline{B\bar{A}}

最后相与F=\overline{A\bar{B}}\cdot \overline{B\bar{A}}

化简一:

F=\overline{A\bar{B}}\cdot \overline{B\bar{A}}

=(\bar{A}+B)\cdot (\bar{B}+A)

=\bar{A}\bar{B}+\bar{A}A+\bar{B}B+AB

=\bar{A}\bar{B}+AB

=A\bigodot B
化简二:

F=\overline{A\bar{B}}\cdot \overline{B\bar{A}}

=\overline{A\bar{B}+B\bar{A}}

=\overline{A\bigoplus B}

=A\bigodot B
所以电路实现同或的逻辑功能

分析电路的逻辑功能  

 


本题有五个输入变量B,A0,A1,A2和A3,四个输出变量S0,S1,S2和S3

出现了一个逻辑符号

异或逻辑

当输入变量B为0时,0与1异或为1,0与0异或为0

即不管A输入变量输入的是什么,对应的输出变量都是A输入的,即为原码输出

当输入变量B为1时,1与0异或为1,1与1异或为0

即不管A输入变量输入的是什么,对应的输出变量都与A输入的相反,即反码输出

所以该电路为原码/反码的发生器

写出所示电路的逻辑表达式,并化简为最简与或表达式

 

本题有三个输入变量A,B和C,两个输出变量Y0和Y1

出现了两个逻辑符号

与非逻辑

异或逻辑

对于Y0输出变量,连接一个异或符号

A与B异或后与C异或后输出Y0

Y_{0}=A\bigoplus B\bigoplus C

对于Y1输出变量,连接一个与非

之后再分别连接两个与非

对于第一个与非为\overline{AB}

对于第二个与非为\overline{C(A\bigoplus B)}

Y_{1}=\overline{\overline{AB}\cdot \overline{C(A\bigoplus B)}}

化简

Y_{1}=AB+C(A\bigoplus B)
此电路图为全加器

Y0为计算本位和的公式,Y1为计算进位的公式

在下面会详细解释

常用的MSI组合逻辑电路

串行进位:电路进行二进制加法运算时,各全加器由低位到高位逐位传递进位信号

超前进位:电路进行二进制加法运算时,通过快速进位电路几乎同时产生进位信号

半加器 

只考虑本位两个二进制数相加,而不考虑来自低位进位数相加的运算电路

假设两个1位二进制数A和B相加,S为A和B相加的和,C为进位输出

半加器真值表
ABSC
0000
0110
1010
1101

半加器逻辑符号:
A加数        B被加数        S本为和        CO进位
全加器

将两个多位二进制数相加时,除考虑第i位两个二进制数A_{i}B_{i}相加外,还要考虑与相邻低位来的进位数C_{i}相加的运算电路,称为全加器 

两个二进制数相加的结果有两个,一个是第i位的和 S_{i},另一个是向相邻高位的进位数C_{i+1}

因此,全加器有三个输入端,两个输出端

1位全加器真值表
输入输出
A_{i}B_{i}C_{i}S_{i}C_{i+1}
00000
00110
01010
01101
10010
10101
11001
11111
由真值表得到全加器的逻辑表达式为
S_{i}=\bar{A_{i}}\bar{B_{i}}C_{i}+\bar{A_{i}}B_{i}\bar{C_{i}}+A_{i}\bar{B_{i}}\bar{C_{i}}+A_{i}B_{i}C_{i}
=(\bar{A_{i}}\bar{B_{i}}+A_{i}B_{i})C_{i}+(A_{i}\bar{B_{i}}+\bar{A_i}B_{i})\bar{C_{i}}
=A_{i}\bigoplus B_{i}\bigoplus C_{i}

C_{i+1}=\bar{A_{i}}B_{i}C_{i}+A_{i}\bar{B_{i}}C_{i}+A_{i}B_{i}\bar{C_{i}}+A_{i}B_{i}C_{i}
=A_{i}B_{i}+C_{i}(A_{i}\bigoplus B_{i})
加法器

实现多位二进制数加法运算的电路称为加法器

按照电路结构及进位方式的不同,分为串行进位加法器和超前进位加法器

串行进位加法器 

一个全加器只能进行两个1位二进制数相加

因此,当进行多位二进制数相加时,就必须使用多个全加器才能完成

n位串行进位加法器逻辑图:

 

例 

如图所示串行进位加法器当A=11,B=01时,高位的进位输出端为1

 

本题有五个输入变量C0,A0,B0,A1和B1

C0为初始进位,为0

A=A0A1=11        即A0输入1,A1输入1

B=B0B1=01        即B0输入0,B1输入1

高位即最后一个

低位即第一个

方法一:

利用公式

S_{i}=A_{i}\bigoplus B_{i}\bigoplus C_{i}

C_{i+1}=A_{i}B_{i}+C_{i}(A_{i}\bigoplus B_{i})

S_{0}=A_{0}\bigoplus B_{0}\bigoplus C_{0}

=1\bigoplus 1\bigoplus 0

=0
C_{1}=A_{0}B_{0}+C_{0}(A_{0}\bigoplus B_{0})

=1\cdot 1+0\cdot (1\bigoplus 1)

=1

S_{1}=A_{1}\bigoplus B_{1}\bigoplus C_{1}

=1\bigoplus 0\bigoplus 1

=0

C_{2}=A_{1}B_{1}+C_{1}(A_{1}\bigoplus B_{1})

=1\cdot 0+1\cdot (1\bigoplus 0)

=1
所以高位输出端为1

方法二:

此逻辑图用于计算二进制加法

即第一次A0=1,B0=1,C0=0

同十进制加法的进位和加减规则

A0+B0+C0=1+1+0=10

10中即进位C1为1,本位和S0=0

第二次A1=1,B1=0,C1=1

A1+B1+C1=1+0+1=10

10中即C2为1,本位和为S1=0

例 

如下图所示,当输入A为0101,B为1001时,S2=1


A=A3A2A1A0=0101

即A3=0,A2=1,A1=0,A0=1

B=B3B2B1B0=1001

即B3=1,B2=0,B1=0,B0=1
方法一:

利用公式

S_{i}=A_{i}\bigoplus B_{i}\bigoplus C_{i}

C_{i+1}=A_{i}B_{i}+C_{i}(A_{i}\bigoplus B_{i})

S_{0}=A_{0}\bigoplus B_{0}\bigoplus C_{0}

=1\bigoplus 1\bigoplus 0

=0
C_{1}=A_{0}B_{0}+C_{0}(A_{0}\bigoplus B_{0})

=1\cdot 1+0\cdot (1\bigoplus 1)

=1

S_{1}=A_{1}\bigoplus B_{1}\bigoplus C_{1}

=0\bigoplus 0\bigoplus 1

=1

C_{2}=A_{1}B_{1}+C_{1}(A_{1}\bigoplus B_{1})

=0\cdot 0+1\cdot (0\bigoplus 0)

=0

S_{2}=A_{2}\bigoplus B_{2}\bigoplus C_{2}

=1\bigoplus 0\bigoplus 0

=1

方法二:

此逻辑图用于计算二进制加法

即第一次A0=1,B0=1,C0=0

A0+B0+C0=1+1+0=10

10中即进位为C1=1,本位和S0=0

第二次A1=0,B1=0,C1=1

A1+B1+C1=0+0+1=1

01中即进位为C2=0,本位和S1=1

第三次A2=1,B2=0,C2=0

A2+B2+C2=1+0+0=1

01中即进位为C3=0,本位和S2=1

超前进位加法器 

n位串行进位加法器执行一次二进制数的加法运算,需要经过n级全加器的传输延时,才能得到最终的结果

为了提高运算速度,就必须设法减少进位信号逐级传递所占去的时间

于是产生了超前进位加法器(或称并行进位加法器)

4位超前进位加法器

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

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

相关文章

YOLOv9电动车头盔佩戴检测,详细讲解模型训练

向AI转型的程序员都关注了这个号👇👇👇 一、YOLOv9简介 YOLOv9是YOLO系列算法的最新版本。YOLO系列算法自2015年首次提出以来,已经在目标检测领域取得了显著的进展,以其快速和准确的特点而广受欢迎。 论文地址&#xf…

别再找了,关于免费SSL证书都在这里

免费SSL证书的优点: 成本效益:免费SSL证书可以帮助网站所有者节省资金,特别是对于初创公司或个人网站来说,这是一个很大的优势。提高信任度:通过使用SSL证书,网站可以向访问者展示其对安全性的承诺&#x…

1.5 简述转置卷积的主要思想以及应用场景

1.5 简述转置卷积的主要思想以及应用场景 普通的卷积主要思想: 普通的卷积操作可以形式化为一个矩阵乘法运算,即yAx(1-12) 其中,x和y分别是卷积的输入和输出(展平成一维向量形式),维度分别为d⁽i⁾和d⁽…

经验分享:水牛社怎么做?

本人也就是通过他慢慢学习成长起来的。还是一个网友推荐的,现在他对我来说算是大佬了,已经单飞了,好久都没有联系了,呵呵,真是人往高处走,水往低处流啊。 做网赚会经常和一些网络小白聊天,聊着…

Qt 绘制中的视口(setViewport)和窗口(setWindow)

重点 : 1.绘制(QPainter)可以设置视口,视口下设置窗口,而绘制的构件是以窗口为坐标系进行绘画。 2.先根据绘图设备的物理坐标系的矩形位置,设置视图视口setViewport,然后在以视口为区域去设置…

银行数字化转型导师坚鹏:银行数字化转型案例研究

银行数字化转型案例研究 课程背景: 数字化背景下,很多银行存在以下问题: 不清楚银行科技金融数智化案例? 不清楚银行供应链金融数智化案例? 不清楚银行普惠金融数智化案例? 不清楚银行跨境金融数智…

技术直播--天翼云@openEuler创新项目分享

在2023年操作系统大会上,天翼云操作系统团队斩获CTinspector、CVE-ease、NestOS三项2023年度优秀项目奖。 自加入社区以来,天翼云团队在openEuler社区贡献不少项目。本次技术直播将介绍天翼云在openEuler社区贡献的几个重点项目的功能、应用场景和优化方…

代码随想录算法训练营第三十九天|动态规划|62.不同路径、63. 不同路径 II

62.不同路径 文章 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。 问总共有多少条不同的路径&…

网络性能优化工具

网络优化是 IT 行业的一个重要方面,网络很复杂,管理员努力保持其平稳运行,然而,网络环境也是不可预测和动态的,任何未受监控的问题都可能像滚雪球一样变成中断。 优化网络性能需要引入: 新设备和应用程序…

安卓简单登录

注意 有的朋友不知道登录咋写,这里我就简单给出相应代码,用的本地存储,没用网络请求,有需要可以替换成想要的,废话不多上代码 登录 import androidx.appcompat.app.AppCompatActivity;import android.content.Context…

1. C++ 编译期多态与运行期多态

C 编译期多态与运行期多态 今日的C不再是个单纯的“带类的C”语言,它已经发展成为一个多种次语言所组成的语言集合,其中泛型编程与基于它的STL是C发展中最为出彩的那部分。在面向对象C编程中,多态是OO三大特性之一,这种多态称为运…

grid布局所有元素在同一行显示且等分列

目录 一、问题 二、实现方式 三、总结 tiips:如嫌繁琐,直接移步总结即可! 一、问题 1.grid布局可以通过 grid-template-columns来指定列的宽度。且可以通过repeat来指定重复的次数。但是现在的需求是:grid布局中元素的数量不确定&#…