常用的组合逻辑电路

目录

引言

一:编码器

介绍

二进制普通编码器

扩展

二—十进制普通编码器

优先编码器

二:译码器

三:数据选择器

介绍

4选1数据选择器

扩展

四:数值比较器

介绍

基本功能

示意图

1位二进制数值比较器

多位二进制数值比较器

无符号多位二进制数值比较器

有符号多位二进制数值比较器

五:加法器

介绍

半加器

全加器


引言

在电路的实践过程中,我们常常会使用一些现有的组合电路,这些被称为常用组合电路,下面我将进行介绍,包括:编码器、译码器、数据选择器、数值比较器、加法器等常用组合电路。

一:编码器

介绍

编码是指代码表示文字、符号或数字等特定对象的过程。在日常生活中,如身份证号码、学生学号等都是编码。在数字系统一般使用二进制数,因此编码是将其编码为一些二进制代码。

输入m个信号,输出n个信号,应满足:2^{n-1}< m\leqslant2^{n}

二进制普通编码器

下面进行介绍一个8-3编码器,是一个8路输出信号,可以理解为0-8,而输出信号是3路(2^{3}=8则可以表示8路输入),下面是真值表。

输入输出
Y_{2}Y_{1}Y_{0}
I_{0}000
I_{1}001
I_{2}010
I_{3}011
I_{4}100
I_{5}101
I_{6}110
I_{7}111

逻辑表达式如下

  • Y_{2}=I_{4}+I_{5}+I_{6}+I_{7}
  • Y_{1}=I_{2}+I_{3}+I_{6}+I_{7}
  • Y_{0}=I_{1}+I_{3}+I_{5}+I_{7}

根据逻辑表达式,设计逻辑图即可。

扩展

二—十进制普通编码器

二—十进制普通编码器的功能是将0~9,编码为2进制,首先要确认多少路输出信号,因为10<2^{4}则选择4路输出信号,接着跟2-8编码器类似,即可完成设计,这样其实会多出几种输出不会出现,但不会影响其功能。

优先编码器

请思考,如果2路输入电路都为1,那么普通编码器的输入会是怎么样的呢?

答案很简单,输出结果一定是不符合的,这样就需要对其进行处理,而优先编码器就是解决这种情况的。优先(这里仅考虑高位优先)的意义就是当高位输入时,便只优先考虑高位,不管低位输入如何,按高位的输出结果输出。

真值表如下

                                              输入             输出
I_{0}I_{1}I_{2}I_{3}I_{4}I_{5}I_{6}I_{7}Y_{2}Y_{1}Y_{0}
10000000000
\times1000000001
\times\times100000010
\times\times\times10000011
\times\times\times\times1000100
\times\times\times\times\times100101
\times\times\times\times\times\times10110
\times\times\times\times\times\times\times1111
  • \times:表示无关项,这样可以实现优先编码器。

二:译码器

译码器是编码期的逆运算。n路输入,m路输出,那么其满足关系:2^{n-1}< m\leqslant2^{n}

其原理与编码器相反,输入与输出调换即可,不详细介绍了。

下面请思考一个问题,如果我想要译码显示对应的数字怎么办?

答案是使用一个数码显示器,效果如下,a-g对应每一个输出,对于相应输入,我只需要对应输出显示成相应的数字就可以完成显示了,这样是不是就完成了显示的功能呢!

三:数据选择器

介绍

数据选择器(MUX)又称多路选择器或多路开关,是一种多路输入、单路输出的组合电路。这个是比较传统的概念,其实就是使用n个信号来控制输出。下面是对其的示意图,对于n个控制信号,可以选择2^{n}个输入。

4选1数据选择器

4选1数据选择器有4路输入信号,1路输出信号,2路控制信号。

下面对其定义:

  • 分别用D_{0}^{}D_{1}^{}D_{2}^{}D_{3}^{}表示输入信号;S_{0}^{}S_{1}^{}表示控制信号;Y表示输出信号。
  • S_{0}^{}S_{1}^{}=00时,Y=D_{0}^{};当S_{0}^{}S_{1}^{}=01时,Y=D_{1}^{};当S_{0}^{}S_{1}^{}=10时,Y=D_{2}^{};当S_{0}^{}S_{1}^{}=00时,Y=D_{3}^{}
                                                 输入输出
S_{1}^{}S_{0}^{}D_{0}^{}D_{1}^{}D_{2}^{}D_{3}^{}Y
000×××0
001×××1
01×0××0
01×1××1
10××0×0
10××1×1
11×××00
11×××11

得到逻辑表达式:

Y={D_{0}}\bar{​{S_{1}}}\bar{​{S_{0}}}+{D_{1}}\bar{​{S_{1}}}{S_{0}}+{D_{2}}{S_{1}}\bar{​{S_{0}}}+{D_{2}}{S_{1}}{S_{0}}

根据逻辑表达式变可以得到逻辑图,其他选择器也同样可以使用此原理设计。

扩展

若想要设计一个8选1数据选择器怎么办?

其实可以使用2个4选1数据选择器改造实现,只需要3位控制信号,使用{S_{2}}来选择第一个选择器或者第二个选择器,S_{0}^{}S_{1}^{}则用来控制是哪一位输出(第一个选择器或者第二个选择器中的哪一路输出信号)。

四:数值比较器

介绍

数值比较器是用来比较两个数的数值大小的逻辑元器件。

基本功能

输入2个位数相同的数A和B,比较大小后,输出数值比较的结果:A>B、A=B或A<B。

示意图

1位二进制数值比较器

根据功能得到真值表:

                              输入                          输出
ABGES
00010
01001
10100
11010

不难得出逻辑表达式

G=A\bar{B}

E=\bar{A}\bar{B}+AB=\overline{A\oplus B}

S=\bar{A}B

其实S还有其他形式的表达:S=\overline{G+E}

根据逻辑表达式变可以得到逻辑图。

多位二进制数值比较器

多位二进制数值比较器分为2种情况:一是无符号,而是有符号。

无符号多位二进制数值比较器

多位无符号二进制比较器,只需要使用多个1位二进制数值比较器由高位向下优先比较,若在高位比较结果已经出来,则不需要进行比较了,直接输出即可。(这里对其进行粗略介绍,详细过程可以查阅资料)

有符号多位二进制数值比较器

有符号多位二进制数一般采用补码形式编码。有符号多位二进制数值比较器同样需要使用多个1位二进制数值比较器,当两个数比较时,应先比较符号位(最高位),若不同,则可以确定符号位位0的数(正数)大。否则则依次(高位向低位)比较,直到有一位数大时,输出该为数大,否则输出相等。(这里对其进行粗略介绍,详细过程可以查阅资料)

五:加法器

介绍

加法器是进行算数加法运算的逻辑元器件,其功能是实现两个二进制数的加法操作。分为半加器和全加器,半加器不考虑由低位来的进位,而全加器考虑由低位来的进位。

半加器

逻辑符号:

全加器

逻辑符号:

(以上内容并非纯原创,一些来自老师的ppt)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值