101组合逻辑电路的分析与设计.docx
《101组合逻辑电路的分析与设计.docx》由会员分享,可在线阅读,更多相关《101组合逻辑电路的分析与设计.docx(20页珍藏版)》请在冰豆网上搜索。
101组合逻辑电路的分析与设计
10.1组合逻辑电路的分析与设计
10.1.1组合逻辑电路的分析方法
提问:
1.描述组合逻辑电路逻辑功能的方法主要有?
(逻辑表达式、真值表、卡诺图和逻辑图等。
)
2.各种表示法之间的相互转换?
组合逻辑电路的分析与设计相当于是各种表示法之间的相互转换。
一、基本分析方法
分析:
给定逻辑电路→逻辑功能。
步骤:
1.给定逻辑电路→输出逻辑函数式
一般从输入端向输出端逐级写出各个门输出对其输入的逻辑表达式,从而写出整个逻辑电路的输出对输入变量的逻辑函数式。
必要时,可进行化简,求出最简输出逻辑函数式。
2.列真值表
将输入变量的状态以自然二进制数顺序的各种取值组合代入输出逻辑函数式,求出相应的输出状态,并填入表中,即得真值表。
3.分析逻辑功能
通常通过分析真值表的特点来说明电路的逻辑功能。
二、分析举例
[例10.1.1]分析10.1.1所示逻辑电路的功能。
解:
分析步骤
(1)输出逻辑函数表达式(逐级写,并且变成便于写真值表的形式)
(2)列真值表。
将A、B、C各种取值组合代入式中,可列出真值表。
(3)逻辑功能分析。
由真值表可看出:
在输入A、B、C三个变量中,有奇数个1时,输出Y为1,否则Y为0,因此,图6.2.1所示电路为三位判奇电路,又称为奇校验电路。
[例10.1.2]分析图6.2.2所示电路的逻辑功能,并指出该电路设计是否合理。
解:
分析步骤
(l)输出逻辑函数表达式
(2)真值表。
(3)逻辑功能分析。
由表6.2.2可看出,图6.2.2所示电路的A、B、C三个输入中有偶数个1时,输出Y为1,否则Y为0。
因此,图6.2.2所示电路为三位判偶电路,又称偶校验电路。
(4)改进:
这个电路使用门的数量太多,设计并不合理,可用较少的门电路来实现。
变换表达式
可用异或门和同或门实现,电路如图6.2.3所示。
归纳总结:
1各步骤间不一定每步都要,如:
省略化简(本已经成为最简)
由表达式直接概述功能,不一定列真值表。
2不是每个电路均可用简炼的文字来描述其功能。
如Y=AB+CD
10.1.2组合逻辑电路的设计方法
一、基本设计方法
设计:
设计要求→逻辑图。
步骤(与分析相反):
1.分析设计要求→列真值表
根据题意设输入变量和输出函数并逻辑赋值,确定它们相互间的关系,
然后将输入变量以自然二进制数顺序的各种取值组合排列,列出真值表。
2.根据真值表→写出输出逻辑函数表达式
3.对输出逻辑函数进行化简
代数法或卡诺图法
4.根据最简输出逻辑函数式→画逻辑图。
最简与一或表达式、与非表达式、或非表达式、与或非表达式、其它表达式
二、设计举例
1.单输出组合逻辑电路的设计
[例10.1.3]设计一个A、B、C三人表决电路。
当表决某个提案时,多数人同意,提案通过,同时A具有否决权。
用与非门实现。
解:
设计步骤
(1)真值表
设A、B、C三个人,表决同意用1表示,不同意时用0表示;
Y为表决结果,提案通过用1表示,通不过用0表示,
同时还应考虑A具有否决权。
(3)画逻辑图,如图6.2.5所示
2.多输出组合逻辑电路的设计
[例10.1.4]设计一个将余3码变换为8421BCD码的组合逻辑电路。
解:
设计步骤
(1)真值表
输入:
余3码,用A3、A2、A1和A0表示,
输出:
8421BCD码,用Y3、Y2、Y1和Y0表示。
余3码有六个状态不用,不会出现,作任意项处理。
(2)卡诺图化简。
见教材中图6.2.6
应画四张卡诺图分别求出Y3、Y2、Y1和Y0的最简输出逻辑函数。
含有最小项的方格填1,没有最小项的方格填0,任意项的方格填×。
由卡诺图可写出Y0、Y1、Y2和Y3的最简逻辑函数
(3)画逻辑图。
图6.2.7所示。
将余3码变换为8421BCD码的真值表
10.2编码器
编码:
用代码表示特定对象的过程。
例:
商品条形码、键盘编码器。
编码器:
实现编码的逻辑电路。
二进制编码原则:
用n位二进制代码可以表示
个信号
则,对N个信号编码时,应由
来确定编码位数n。
10.2.1二进制编码器
一、二进制编码器:
用n位二进制代码对
个信号进行编码的电路。
二、电路图:
所下图所示为3位二进制编码器。
输入:
I0~I7为8个需要编码的信号输出:
Y2、Y1、Y0为三位二进制代码
由于该编码器有8个输入端,3个输出端,故称8线一3线编码器。
三、输出逻辑函数
提问:
为什么I0未画在图中,且未出现在表达式中?
或者:
一般编码器输入的编码信号为什么是相互排斥的?
编码器在任何时刻只能对一个输入信号进行编码,不允许有两个或两个以上的输入信号同时请求编码,否则输出编码会发生混乱。
这就是说,I0、I1……I7这8个编码信号是相互排斥的。
在I1~I7为0时,输出就是的编码,故未画。
四、真值表。
五、分析
输入信号为高电平有效(有效:
表示有编码请求)
输出代码编为原码(对应自然二进制数)
6.3.2二一十进制编码器
提问:
为什么要用二一十进制编码器?
人们习惯用十进制,而数字电路只识别二进制,则需要相互转换。
例如:
键盘编码器
一、二一十进制编码器:
将0~9十个十进制数转换为二进制代码的电路。
二、逻辑电路图
需要编码的10个输入信号:
I0~I9
输出4位二进制代码:
Y3、Y2、Y1、Y0
三、输出逻辑函数
四、真值表。
五、分析
当编码器某一个输入信号为1而其它输入信号都为0时,则有一组对应的数码输出,如I7=1时,Y3Y2Y1Y0=0111。
输出数码各位的权从高位到低位分别为8、4、2、1。
因此,图6.3.2所示电路为8421BCD码编码器。
由表6.3.2可看出,该编码器输入I0~I9这10个编码信号也是相互排斥的。
10.2.3优先编码器
提问:
若多个信号同时有效,以上编码器能否正常工作?
如何克服?
一、优先编码器:
允许同时输入数个编码信号,而电路只对其中优先级别最高的信号进行编码。
优先级别高的编码器信号排斥级别低的。
优先权的顺序完全是根据实际需要来确定的。
二、MSI器件:
二—十进制优先编码器CT74LS147,又称为10线-4线优先编码器
1.真值表
2.逻辑功能分析
根据CT74LS147的真值表(编码表)说明其逻辑功能:
⑴数码输出端:
,为8421BCD码的反码。
⑵编码信号输入端:
①输入低电平0有效,这时表示有编码请求
输入高电平1无效,表示无编码请求
②优先级别:
,其余依次类推,
的级别最低。
当
=0时,其余输入信号不论是0还是1都不起作用,电路只对
进行编码,输出
=0110,为反码,其原码为1001。
其余类推。
③没有,这是因为当
都为高电平1时,输出
=1111,其原码为0000,相当于输入
。
因此,在逻辑功能示意图中没有输入端
。
10.3译码器
10.3.1二进制译码器
一、二进制译码器:
将输入二进制代码译成相应输出信号的电路。
二、MSI译码器CT74LS138
由于它有3个输入端、8个输出端,因此,又称3线一8线译码器。
1.逻辑图。
输入端:
A2、A1、A0,为二进制代码;
输出端:
,低电平有效;
使能端:
STA(高电平有效)、
(低电平有效)和
(低电平有效),
且
。
2.真值表。
表10.3.13线一8译码器CT74LS138的真值表
现代教学方法与手段:
用DLCCAI演示MSI器件74LS138的功能。
(5分钟)
3.逻辑功能:
(1)当STA=0,或
+
=1时,EN=0,译码器禁止译码,输出
都为高电平1。
(2)当STA=1且
+
=1时,EN=1,译码器工作,输出低电平0有效。
这时,译码器输出
由输入二进制代码决定
输出逻辑函数式为
4.全译码器:
二进制译码器的输出将输入二进制代码的各种状态都译出来了。
因此,二进制译码器又称全译码器,它的输出提供了输入变量的全部最小项。
5.功能扩展:
用两片CT74LS138组成4线一16线译码器。
(利用使能端)
CT74LS138
(1)为低位片,CT74LS138
(2)为高位片。
并将高位片的STA和低位片的
相连作A3,同时将低位片的
和高位片
、
相连作使能端E,便组成了4线一16线译码器。
工作情况如下。
当E=1时,两个译码器都不工作,输出
都为高电平1。
当E=1时,译码器工作。
(1)当A3=0时,低位片CT74LS138
(1)工作,这时,输出
由输入二进制代码A2A1A0决定。
由于高位片CT74LS138
(2)的STA=A3=0而不能工作,输出
都为高电平1。
(2)当A3=1时,低位片CT74LS138(l)的
=A3=1不工作,输出
都为高电平1。
高位片CT74LS138
(2)的STA=A3=1,
=
=0,处于工作状态,输出
由输入二进制A2A1A0决定。
10.3.2二-十进制译码器
提问:
若要对8421BCD码进行译码,输出信号应有多少个?
一、二一十进制译码器:
将4位BCD码的十组代码翻译成0~9十个对应输出信号的电路。
由于它有4个输入端,十个输出端,所以,又称4线一10线译码器。
二、4线一10线译码器CT74LS42
1.逻辑图。
见教材中图6.4.3。
输入端:
A3、A2、A1、A0,为4位8421BCD码
输出端:
,低电平有效。
2.真值表(代码1010~1111没有使用,称作伪码。
)
3.逻辑函数式
由式可知,当输入伪码1010~1111时,输出
都为高电平1,不会出现低电平0。
因此,译码器不会产生错误译码。
4.功能变化:
CT74LS42可作3线—8线译码器:
输出
不用,并将作使能端使用。
6.4.4用译码器实现组合逻辑函数
一、实现原理:
提问:
逻辑函数的标准最小项之和式?
译码器CT74LS138的输出逻辑函数式?
由于二进制译码器的输出为输入变量的全部最小项,即每一个输出对应一个最小项
Yi=mi(译码器输出高电平)
(译码器输出低电平)而任何一个n位变量的逻辑函数都可变换为最小项之和的标准式
,的取值为0或1,
因此,用译码器和门电路可实现任何单输出或多输出的组合逻辑函数。
当译码器输出低电平时,多选用与非门;当输出为高电平时,多选用或门。
二、实例
[例10.3.1]试用译码器和门电路实现逻辑函数
解:
(1)根据逻辑函数选用译码器。
由于逻辑函数Y中有A、B、C三个变量,故应选用3线一8线译码器CT74LS138。
其输出为低电平有效,故选用与非门。
(2)写出标准与—或表达式为
(3)将逻辑函数Y和CT74LS138的输出表达式进行比较。
设A=A2、B=A1、C=A0,比较得
(4)画逻辑电路图。
[例10.3.2]试用译码器设计一个一位全加器。
它能将两个二进制数及来自低位的进位进行相加,并产生和数与进位数。
解:
(1)分析设计要求。
列出真值表。
设在第i位的两个二进制数相加,设被加数为Ai,加数为Bi,来自低位的进位数为Ci-1。
输出本位和为Si,向高位的进位数为Ci。
表10.3.4全加器的真值表
(2)根据真值表写输出逻辑函数为
(3)选择译码器。
全加器有三个输入信号Ai、Bi、Ci-1,有两个输出信号Si、Ci。
因此选用3线一8线译码器CT4LS138和两个与非门。
(4)将Si、Ci式和CT74LS138的输出表达式进行比较。
设Ai=B2、Bi=A1、Ci-1=A0,比较后得
(5)画逻辑电路图。
4.逻辑电路:
由一个异或门和一个与门组成。
如图6.6.1(a)所示。
5.逻辑符号
二、全加器
1.不仅考虑两个一位二进制数相加,而且还考虑来自低位进位数相加的运算电路,称为全加器。
如在第i位二进制数相加时,被加数、加数和来自低位的进位数分别为Ai、Bi、Ci-1,输出本位和及向相邻高位的进位数为Si、Ci。
因此,
输入信号:
加数Ai、被加数Bi、来自低位的进位Ci-1
输出信号:
本位和Si,向高位的进位Ci
2.真值表
3.Si和Ci的卡诺图,如图10.6.2所示。
4.逻辑函数表达式
5.逻辑图,如图6.6.3(a)所示。
6.逻辑符号
三、多位加法器
1.含义:
实现多位加法运算的电路,称为加法器。
2.进位方法:
⑴串行进位
图6.6.4所示为由4个全加器组成的4位串行进位的加法器。
低位全加器输出的进位信号依次加到相邻高位全加器的进位输入端CI。
最低位的进位输入端CI接地。
显然,每一位的相加结果必须等到低一位的进位信号产生后才能建立起来。
主要缺点:
运算速度比较慢。
优点:
电路比较简单。
⑵超前进位加法器
主要优点:
运算速度较高。