表中的基本定律是根据逻辑加、乘、非三种基本运算法则,推导出的逻辑运算的一些基本定律。 对于表中所列的定律的证明,最有效的方法就是检验等式左边的函数与右边函数的真值表是否吻合。
例如,要证明A+A=A时,可按照下面的步骤进行证明: 1. 令A=1,则A+A=l+l=l=A; 2. 令A=0,则A+A=0+0=0=A; 除此之外,别无其他可能,可见A+A=A。
本节所列出的基本公式反映了逻辑关系,而不是数量之间的关系 ,在运算中不能简单套用初等代数的运算规则。如初等代数中的移项规则就不能用,这是因为逻辑代数中没有减法和除法的缘故。这一点在使用时必须注意。
二、逻辑代数的基本规则
1.代入规则
在任何一个逻辑等式中,如果将等式两边出现的某变量A ,都用一个函数代替,则等式依然成立,这个规则称为代人规则。 例如 ,在B(A+C)=BA+BC中 ,将所有出现A的地方都代以函数A+D,则等式仍成立,即得B[(A+D)+C]=B(A+D)+BC=BA+BD+BC 代人规则可以扩展所有基本定律的应用范围。
2.反演规则
3.对偶规则
三、逻辑函数的代数变换与化简法
1.逻辑函数的变换
例:求同或函数的非函数。 解:
这个函数称为异或函数,它表示当两个输入变量取值相异(一个为0,另一个为1)时,输出函数值为1。 在MOS门电路中 ,我们已接触过异或门,上面的推导更明确地告诉我们,异或门和同或门互为非函数。所以在异或门电路的输出端再加一级反相器,也能得到同或门,如下图所示。
至此,我们已经学到了不止一种同或函数,但是同或函数的真值表却是唯一的,事实上还可以列举许多。由此可以得出结论:一个特定的逻辑问题,对应的真值表是唯一的,但实现它的电路多种多样。这给设计电路带来了方便,当我们手头缺少某种逻辑门的器件时,可以通过函数表达式的变换,避免使用这种器件而改用其他器件。这种情形在实际工作中常会遇到。
2.逻辑函数的化简
根据逻辑表达式,可以画出相应的逻辑图。但是直接根据某种逻辑要求而归纳出来的逻辑表达式及其对应的逻辑图,往往并不是最简的形式,这就需要对逻辑表达式进行化简。 一个逻辑函数可以有多种不同的逻辑表达式,如与—或表达式、或—与表达式、与非—与非表达式、或非—或非表达式以及与—或—非表达式等。
以上五个式子是同一函数不同形式的最简表达式。以下将着重讨论与或表达式的化简,因为与或表达式易于从真值表直接写出,且只需运用一次摩根定律就可以从最简与或表达式变换为与非一与非表达式,从而可以用与非门电路来实现。
最简与或表达式有以下两个特点: ①与项(即乘积项)的个数最少。 ②每个乘积项中变量的个数最少。
代数法化简逻辑函数是运用逻辑代数的基本定律和恒等式进行化简,常用下列方法: ① 并项法
② 吸收法
③ 消去法
④ 配项法
使用配项的方法要有一定的经验,否则越配越繁。通常对逻辑表达式进行化简,要综合使用上述技巧。以下再举几例。
第二节 逻辑函数的卡诺图化简法
由前面的学习得知,利用代数法可以使逻辑函数变成较简单的形式。但要求熟练掌握逻辑代数的基本定律,而且需要一些技巧,特别是经化简后得到的逻辑表达式是否是最简式较难确定。运用卡诺图法可以较简便的方法得到最简表达式。但首先需要了解最小项的概念。
一、最小项的定义及其性质
1.最小项的基本概念
2.最小项的性质
为了分析最小项的性质,以下列出3个变量的所有最小项的真值表。
由此可见,最小项具有下列性质: (1)对于任意一个最小项,只有一组变量取值使得它的值为1,而在变量取其他各组值时,这个最小项的值都是0。 (2)不同的最小项,使它的值为1的那一组变量取值也不同。 (3)对于变量的任一组取值,任意两个最小项的乘积为0。 (4)对于变量的任一组取值,全体最小项之和为1。
3.最小项的编号
最小项通常用mi表示,下标i即最小项编号 ,用十进制数表示。以ABC为例,因为它和011相对应,所以就称ABC是和变量取值011相对应的最小项,而011相当于十进制中的3,所以把ABC记为m3按此原则,3个变量的最小项
二、逻辑函数的最小项表达式
三、用卡诺图表示逻辑函数
1.卡诺图的引出
一个逻辑函数的卡诺图就是将此函数的最小项表达式中的各最小项相应地填入一个特定的方格图内,此方格图称为卡诺图。 卡诺图是逻辑函数的一种图形表示。 下面从讨论一变量卡诺图开始,逐步过渡到多变量卡诺图。 大家知道,n个变量的逻辑函数有2n个最小项 ,因此一个变量的逻辑函数有两个最小项。 比如有一个变量D,其逻辑函数L的最小项表达式为:
综上所述,可归纳“折叠展开”的法则如下: ①新增加的方格按展开方向应标以新变量。 ②新的方格内最小项编号应为展开前对应方格编号加2n-1。 按照同样的方法,可从折叠的2变量卡诺图展开获得3变量卡诺图。3变量逻辑函数L(B, C, D)应有8个最小项,可用8个相邻的方格来表示。新增加的 4个方格按展开方向应标以新增加的变量B(以区别于原来的变量C、D)。而且,新增加的方格内最小项的编号为展开前对应方格编号加2n-1=23-1=4,这样即可获得3变量卡诺图如下:
同理,可得4变量卡诺图,如下图所示。
在使用时,只要熟悉了卡诺图上各变量的取值情况(即方格外各变量A、B、C、D等取值的区域),就可直接填入对应的最小项。
将上图中的数码编号与最小项的编号——对应,可以得到下面这种形式的卡诺图。
2.卡诺图的特点
3.已知逻辑函数画卡诺图
四、用卡诺图化简逻辑函数
1.化简的依据
2.化简的步骤
用卡诺图化简逻辑函数的步骤如下: (1)将逻辑函数写成最小项表达式。 (2)按最小项表达式填卡诺图 ,凡式中包含了的最小项,其对应方格填1,其余方格填0。 (3)合并最小项,即将相邻的1方格圈成一组(包围圈),每一组含2n个方格,对应每个包围圈写成一个新的乘积项。 (4)将所有包围圈对应的乘积项相加。 有时也可以由真值表直接填卡诺图,以上的(1)、(2)两步就合为一步。
画包围圈时应遵循以下原则: (1)包围圈内的方格数必定是2n个,n等于0、1、2、3、…。 (2)相邻方格包括上下底相邻,左右边相邻和四角相邻。 (3)同一方格可以被不同的包围圈重复包围 ,但新增包围圈中一定要有新的方格,否则该包围圈为多余。 (4)包围圈内的方格数要尽可能多,包围圈的数目要尽可能少。
化简后,一个包围圈对应一个与项(乘积项),包围圈越大,所得乘积项中的变量越少。实际上,如果做到了使每个包围圈尽可能大 ,结果包围圈个数也就会少,使得消失的乘积项个数也越多,就可以获得最简的逻辑函数表达式。下面通过举列来熟悉用卡诺图化简逻辑函数的方法。
例: 一个逻辑电路的输入是4个逻辑变量A、B、C、D ,它的真值表如下,用卡诺图法求化简的与一或表达式及与非一与非表达式。
解: (1)由真值表画出卡诺图,如下图所示。
(2)画包围圈合并最小项,得简化的与一或表达式。
(3) 求与非一与非表达式。
二次求非然后利用摩根定律得
(2)用包围1的方法化简,如下图所示,得
(3)用包围0的方法化简,如图所示,
分析组合逻辑电路的目的是为了确定已知电路的逻辑功能,其步骤大致如下: 1.由逻辑图写出各输出端的逻辑表达式; 2.化简和变换各逻辑表达式 3.列出真值表 4.根据真值表和逻辑表达式对逻辑电路进行分析,最后确定其功能。 下面举例来说明组合逻辑电路的分析方法。
例:已知逻辑电路如下图所示,分析该电路的功能。
A |
B |
C |
|
L |
0 0 0 0 1 1 1 1 |
0 0 1 1 0 0 1 1 |
0 1 0 1 0 1 0 1 |
0 0 1 1 1 1 0 0 |
0 1 1 0 1 0 0 1 |
|
第三步,分析真值表后可知,当A、B、C输入变量中取值有奇数个1时,L为1,否则L为0。可见该电路可用于检查3位二进制码的奇偶性,由于它在输入二进制码含有奇数个1时,输出有效信号 ,因此称为奇校验电路。
例:一个双输入端、双输出端的组合逻辑电路如下图所示,分析该电路的功能。
解:第一步,由逻辑图写出逻辑表达式,并进行化简和变换:
第二步,列写真值表如下:
输入 |
输出 |
A |
B |
S |
C |
0 0 1 1 |
0 1 0 1 |
0 1 1 0 |
0 0 0 1 |
|
第三步,分析真值表可知,A,B都是0时,S为0,C也为0 ;当A,B有1个为1时,S为1,C为0;当A,B都是1时,S为0,C为1。这符合两个1位二进制数相加的原则,即A,B为两个加数,S是它们的和,C是向高位的进位。这种电路可用于实现两个1位二进制数的相加,实际上它是运算器中的基本单元电路,称为半加器。 对于比较简单的组合逻辑电路,有时也可用画波形图的方法进行分析。为了避免出错,通常是根据输入波形,逐级画出输出波形,最后根据逻辑图的输出端与输入端波形之间的关系确定功能。用画波形图的分析法对以上两个例题的分析结果分别如下图所示。
第四节 组合逻辑电路的设计
组合逻辑电路的设计与分析过程相反,其步骤大致如下: (1)根据对电路逻辑功能的要求,列出真值表; (2)由真值表写出逻辑表达式; (3)简化和变换逻辑表达式,从而画出逻辑图。 组合逻辑电路的设计,通常以电路简单,所用器件最少为目标。在前面所介绍的用代数法和卡诺图法来化简逻辑函数,就是为了获得最简的形式,以便能用最少的门电路来组成逻辑电路。但是,由于在设计中普遍采用中、小规模集成电路(一片包括数个门至数十个门)产品,因此应根据具体情况,尽可能减少所用的器件数目和种类,这样可以使组装好的电路结构紧凑,达到工作可靠而且经济的目的。 下面举例说明设计组合逻辑电路的方法和步骤。
例1:试用2输入与非门和反相器设计一个3输入(I0、I1、I2) 、3输出(L0、L1、L2)的信号排队电路 。它的功能是:当输入I0为1时,无论I1和I2为1还是0,输出L0为1,L1和L2为1;当I0为0且I1为1,无论I2为1还是0,输出L1为1,其余两个输出为0;当I2为1且另外两个均为0时,输出 L2为1,其余两个输出为0。如I0、I1 、I2均为0,则L0、L1、L2也均为0。 解: (1)根据题意列出真值表如下:
(2)根据真值表写出各输出逻辑表达式:
(3)根据要求将上式变换为与非形式:
由此可画出逻辑图,如下图所示。该逻辑电路可用一片内含四个2输人端的与非门(图中蓝灰色部分)(比如74LS00)和另一片内含六个反相器(74LS04)的集成电路组成。原逻辑表达式虽然是最简形
式,但它需一片反相器和一片3输入端的与门才能实现(见下图),器件数和种类都不能节省,而且三输入端的与门器件不如二输入端的与非门常见。由此可见,最简的逻辑表达式用一定规格的集成器件实现时,其电路结构不一定是最简单和最经济的。设计逻辑电路时应以集成器件为基本单元,而不应以单个门为单元,这是工程设计与理论分析的不同之处。
例2 试设计一可逆的4位码变换器。在控制信号C=1时,它将8421码转换为格雷码;C=0时,它将格雷码转换为8421码。 解: (1)列出真值表如下:
当C=l时,输入X3X2X1X0作为8421码,对应的输出g3g2g1g0为格雷码; 当C=0时,输入则作为格雷码,对应的输出b3b2b1b0为8421码。此时,X3X2X1X0作为格雷码的排列顺序体现在它与b3b2b1b0的——对应关系。 (2)分别画出C=l和C=0时各输出函数的卡诺图和对应的输出逻辑表达式如下: C=1时有:
C=0时有:
(3)写出总的输出逻辑表达式:
(4)画出逻辑图:
从以上逻辑表达式和逻辑图可以看出,用异或门代替与门和或门能使逻辑电路比较简单。在化简和变换逻辑表达式时,应尽可能使某些输出作为另一些输出的条件,例如,利用Y2作为Y1的一个输入,Yl又作为Y0的一个输入,这样可以使电路更简单。在化简时,若注意综合考虑,使式中的相同项尽可能多,则可以使电路得到简化。此外,我们还将与或换成与非形式,从而减少了门电路的种类 。该逻辑电路可由两片各含四个2输入端的与非门(740)和一片内含四个异或门(7486)的集成电路组成。
第五节 组合逻辑电路中的竞争冒险
前面分析组合逻辑电路时,都没有考虑门电路的延迟时间对电路产生的影响。实际上,从信号输入到稳定输出需要一定的时间。由于从输入到输出的过程中,不同通路上门的级数不同,或者门电路平均延迟时间的差异,使信号从输人经不同通路传输到输出级的时间不同 。由于这个原因,可能会使逻辑电路产生错误输出。通常把这种现象称为竞争冒险。
一、产生竞争冒险的原因
首先来分析下图所示电路的工作情况,可以建立竞争冒险的概念 。
由以上分析可知,当电路中存在由反相器产生的互补信号,且在互补信号的状态发生变化时可能出现冒险现象
二、消去竞争冒险的方法
针对上述原因,可以采取以下措施消去竞争冒险现象。
1.发现并消掉互补变量
2.增加乘积项
3. 输出端并联电容器
如果逻辑电路在较慢速度下工作,为了消去竞争冒险,可以在输出端并联——电容器,其容量为4~20pF之间,比如可以在右图的电路的输出端并联一个电容C,如下图所示。由于或门G4存在——输出电阻R0,致使输出波形上升沿和下降沿的变化变得比较缓慢。因此对于很窄的负跳变脉冲起到平滑的作用,如下图中的波形所示。显然,这时在输出端不会出现逻辑错误。
0
|