2.2 项目资讯
2.2.1 逻辑代数基础
根据基本逻辑运算规则和逻辑变量的取值只能是0和1的特点,可得出逻辑代数中的一些基本规律。
1.基本运算公式
以上这些基本公式可以用真值表进行证明。例如,要证明反演律(也称为摩根定理),可将变量A、B的各种取值分别代入等式两边,的证明真值表见表2-1。从真值表可以看出,等式两边的逻辑值完全对应相等,所以反演律成立。
表2-1 的证明真值表
2.逻辑代数运算规则
逻辑代数的运算优先顺序是:先算括号,再算非运算,然后是与运算,最后是或运算。逻辑代数运算的规则如下。
(1)代入规则
在逻辑等式中,如果将等式两边的某一变量都代之以一个逻辑函数,那么等式仍然成立。
例如,已知。若用Z=A·C代替等式中的A,根据代入规则,则等式仍然成立,即
(2)反演规则
已知函数Y,欲求当其反函数时,只要将Y式中所有“·”换成“+”、“+”换成“·”、0换成1、1换成0、原变量换成其反变量、反变量换成其原变量,所得到的表达式就是的表达式。
利用反演规则,可以比较容易地求出一个逻辑函数的反函数。
在变换过程中应注意两个以上变量的公用的非号保持不变,运算的优先顺序如下:先算括号,然后算逻辑乘,最后算逻辑加。
【例2-1】求的反函数。
解:
(3)对偶规则
已知逻辑函数Y,求它的对偶函数Y′可通过将“·”变为“+”、“+”变为“·”、“0”换成“1”、“1”换成“0”得到。
若两个逻辑函数相等,则它们的对偶式也相等;若两个逻辑函数的对偶式相等,则这两个逻辑函数也相等。
【例2-2】求Y=A·B++B·C的对偶式。
解:Y′=(A+B)·(+C)·(B+C)
3.逻辑函数的表示方法
逻辑函数的表示方法有逻辑表达式、真值表、卡诺图、逻辑图和波形图5种方法。
(1)逻辑表达式
用与、或、非等逻辑运算表示逻辑函数各变量之间关系的代数式称为逻辑表达式。例如,Y=A+B·C。
(2)真值表
前述中已经用到真值表,并给出了真值表的定义。在真值表中,每个输入变量只有0和1两种取值,n个变量就有2n个不同的取值组合,而每种组合都有对应的输出逻辑值。一个确定的逻辑函数只有一个逻辑真值表。当函数变量较多时,一般列出简化的特性真值表。
(3)卡诺图
如果把各种输入变量取值组合下的输出函数值填入一种特殊(按照逻辑相邻性划分)的方格图中,就得到了逻辑函数的卡诺图。
(4)逻辑图
用逻辑符号表示逻辑函数表达式中各个变量之间的运算关系得到的电路图形,称为逻辑电路图,简称为逻辑图。如Y=AB+BC的逻辑图如图2-1所示。
图2-1 Y=AB+BC的逻辑图
(5)波形图
波形图是逻辑函数输入变量每一种可能出现的取值与对应的输出值按时间顺序依次排列的图形,也称为时序图。波形图可通过实验进行观察。在逻辑分析和一些计算机仿真软件中,常用这种方法分析结果。图2-2所示为逻辑函数Y=AB+BC的波形图。
图2-2 逻辑函数Y=AB+BC的波形图
逻辑函数的各种表示方法可以相互转换。根据真值表可以得到逻辑表达式,由逻辑表达式可以得到逻辑图,由逻辑图也可以反过来得到表达式。
4.逻辑函数表达式
逻辑表达式越简单,实现它的电路也就越简单,电路工作也就越稳定可靠。
(1)逻辑函数表达式的表示形式
一个逻辑函数的表达式可以有以下5种表示形式。
1)与-或表达式,例如。
2)或-与表达式,例如Y=(A+C)·(B+C)。
3)与非-与非表达式,例如。
4)或非-或非表达式,例如。
5)与或非表达式,例如。
利用逻辑代数的基本定律,可以实现上述5种逻辑函数表达式之间的变换。
(2)逻辑函数的最简与或表达式
逻辑函数的最简与或表达式的特点如下。
1)乘积项个数最少。
2)每个乘积项中的变量个数也最少。最简与或表达式的结果不是唯一的,可以从函数式的公式化简和卡诺图化简中得到验证。
(3)逻辑函数的最小项表达式
1)最小项的定义。在n个变量的逻辑函数中,若乘积项中包含了全部变量,并且每个变量在该乘积项中或以原变量或以反变量只出现一次,则该乘积项就定义为逻辑函数的最小项。n个变量的全部最小项共有2n个。
如三变量A、B、C共有23=8个最小项,即、ABC。
2)最小项的编号。为了书写方便,用m表示最小项,其下标为最小项的编号。编号的方法是:最小项中的原变量取1,反变量取0,则最小项取值为一组二进制数,其对应的十进制数便为该最小项的编号。若三变量最小项对应的变量取值为010,它对应的十进制数为2,则最小项的编号为m2。其余最小项的编号依次类推。
3)逻辑函数的最小项表达式。若一个与或逻辑表达式中的每一个与项都是最小项,则该逻辑表达式称为标准与或式,又称为最小项表达式。任何一种形式的逻辑表达式都可以利用基本定律和配项法变换为标准与或式,并且标准与或式是唯一的。
【例2-3】将逻辑函数Y=AB+AC+BC变换为最小项表达式。
解:1)利用的形式作配项,补充缺少的变量,即
2)利用A+A=A的形式合并相同的最小项,即
2.2.2 公式法化简逻辑函数
运用逻辑代数的基本定律和公式对逻辑函数式进行化简的方法称为代数化简法,基本方法有以下几种。
1.并项法
运用基本公式,将两项合并为一项,同时消去一个变量。如
2.吸收法
运用吸收律A+AB=A和,消去多余项。如
1)Y=AB+AB(C+D)=AB
2)
3.消去法
利用A+=A+B消去多余因子。如
4.配项法
在不能直接运用公式、定律化简时,可通过乘或进行配项后再化简。如
在实际化简逻辑函数时,需要灵活运用上述几种方法,才能得到最简与或表达式。
【例2-4】化简逻辑函数式。
解:1)运用,将合并,得
2)运用A+AB=A,消去含有A因子的乘积项,得
3)运用,消去中的中的,得
Y=A+C+D
2.2.3 卡诺图法化简逻辑函数
1.相邻最小项
如果两个最小项中只有一个变量为互反变量,其余变量均相同时,那么这两个最小项就为逻辑相邻,并把它们称为相邻最小项,简称为相邻项。例如,三变量最小项ABC和,其中的C和为互反变量,其余变量都相同,所以它们是相邻最小项。显然,两个相邻最小项可以合并为一项,同时消去互反变量,如。合并结果为两个最小项的共有变量。
2.卡诺图
卡诺图又称为最小项方格图。用2n个小方格表示n个变量的2n个最小项,并且使相邻最小项在几何位置上也相邻,按这样的相邻要求排列起来的方格图叫作n个变量最小项卡诺图,这样相邻原则又称为卡诺图的相邻性。下面介绍2~4个变量最小项卡诺图的作法。
(1)二变量卡诺图
设两个变量为A和B,则全部4个最小项为、AB,分别记为m0、m1、m2、m3。按相邻性画出二变量卡诺图,如图2-3所示。
图2-3 二变量卡诺图
a)方格内标最小项 b)方格内标最小项取值 c)方格内标最小项编号
(2)三变量卡诺图
设3个变量为A、B、C,全部最小项有23=8个,卡诺图由8个方格组成,按相邻性安放最小项可画出三变量卡诺图,如图2-4所示。
图2-4 三变量卡诺图
a)方格内标最小项 b)方格内标最小项编号
应当注意,图中变量BC的取值不是按自然二进制码(00、01、10、11)排列,而是按格雷码(00、01、11、10)顺序排列的,只有这样才能保证卡诺图中最小项在几何位置上相邻。
(3)四变量卡诺图
设四变量为A、B、C、D,全部最小项有24=16个,卡诺图由16个方格组成,按相邻性安放最小项可画出四变量卡诺图,如图2-5所示。
图2-5 四变量卡诺图
a)方格内标最小项 b)方格内标最小项编号
图2-5中的横向变量AB和纵向变量CD都是按格雷码顺序排列的,保证了最小项在卡诺图中的循环相邻性,即同一行最左方格与最右方格相邻,同一列最上方格和最下方格也相邻。
对于五变量及以上的卡诺图,由于复杂,所以在逻辑函数化简中很少使用,这里不再介绍。
3.用卡诺图表示逻辑函数
在具体填写一个逻辑函数的卡诺图时,应将逻辑函数表达式或其真值表所确定的最小项,在其对应卡诺图的小方格内填入函数值1;在表达式中没出现的最小项或真值表中函数值为0的最小项所对应的小方格内填入函数值0。为了简明起见,当小方格内的函数值为0时,常保留成空白,即什么也不填。
【例2-5】画出逻辑函数Y(ABCD)=∑m(0,1,4,5,6,9,12,13,15)的卡诺图。
解:这是一个四变量的逻辑函数,首先要画出四变量卡诺图的一般形式,然后在最小项编号为0、1、4、5、6、9、12、13、15的小方格内填入1,在其余小方格内填入0或空着,即得到了该逻辑函数的卡诺图,如图2-6所示。
图2-6 例2-5图
【例2-6】画出逻辑函数Y=AB+BC+CA的卡诺图。
解:首先将函数Y写成标准与或式,即
再画出三变量卡诺图的一般形式,按照上例题同样的方法即可得到Y的卡诺图,如图2-7所示。
图2-7 例2-6图
4.用卡诺图化简逻辑函数
用卡诺图化简逻辑函数的原理是利用卡诺图的相邻性,找出逻辑函数的相邻最小项加以合并,消去互反变量,以达到简化目的。
(1)最小项合并规律
1)只有相邻最小项才能合并。
2)两相邻最小项可以合并为一个与项,同时消去一个变量;4个相邻最小项可以合并为一个与项,同时消去两个变量;2n个相邻最小项可以合并为一个与项,同时消去n个变量。
3)当合并相邻最小项时,消去的是相邻最小项中的互反变量,保留的是相邻最小项中的共有变量,并且合并的相邻最小项越多,消去的变量也越多,化简后的与项就越简单。
(2)用卡诺图化简逻辑函数的原则
在用卡诺图化简逻辑函数画包围圈合并相邻项时,应注意以下原则。
1)每个包围圈内相邻1方格的个数一定是2n个方格,即只能按1、2、4、8、16个1方格的数目画包围圈。
2)同一个1方格可以被不同的包围圈重复包围多次,但新增的包围圈中必须有原先没有被圈过的1方格。
3)在包围圈中的相邻1方格的个数应尽量多,这样可消去的变量多。
4)画包围圈的个数应尽量少,这样得到的逻辑函数的与项少。
5)注意卡诺图的循环邻接特性。同一行最左与最右方格中的最小项相邻,同一列的最上与最下方格中的最小项相邻。
【例2-7】试用卡诺图化简逻辑函数Y(ABCD)=∑m(0,1,5,6,9,11,12,13,15)。
解:1)画出卡诺图如图2-8所示。
图2-8 例2-7图
2)化简卡诺图。在化简卡诺图时,一般先圈独立的1方格,再圈仅两个相邻的1方格,再圈仅4个相邻的1方格,依次类推即可得图2-8。
3)合并包围圈的最小项,写出最简与或表达式,即
【例2-8】试用卡诺图化简逻辑函数+ABC+BD。
解:1)画逻辑函数卡诺图。
2)合并相邻最小项。注意由少到多画包围圈。
3)写出逻辑函数的最简与或表达式,即
如在该例题中先圈4个相邻的1方格,再圈两个相邻的1方格,便会多出一个包围圈,如图2-9b所示,这样就不能得到最简与或表达式。
图2-9 例2-8图
a)正确圈法 b)不正确圈法
5.用卡诺图化简具有无关项的逻辑函数
(1)约束项、任意项和无关项
在许多实际问题中,有些变量取值组合是不可能出现的,这些取值组合对应的最小项称为约束项。例如在8421BCD码中,1010~1111这6种组合是不使用的代码,它不会出现,是受到约束的。因此,这6种组合对应的最小项为约束项。而在某些情况下,逻辑函数在某些变量取值组合出现时,对逻辑函数值并没有影响,其值可以为0,也可以为1,这些变量取值组合对应的最小项称为任意项。约束项和任意项统称为无关项。合理利用无关项,可以使逻辑函数得到进一步简化。
(2)利用无关项化简逻辑函数
在逻辑函数中,无关项用“d”表示,在卡诺图相应的方格中填入“×”或“ϕ”。根据需要,无关项可以当作1方格,也可以当作0方格,以使化简的逻辑函数式为最简式为准。
【例2-9】用卡诺图化简以下逻辑函数式为最简与或表达式。
Y(ABCD)=∑m(3,6,8,10,13)+∑d(0,2,5,7,12,15)
解:1)画卡诺图,如图2-10所示。
图2-10 例2-9图
a)未利用无关项化简 b)利用无关项化简
2)填卡诺图。有最小项的方格填“1”,无关项的方格填“×”。
3)合并相邻最小项,写出最简与或表达式。
未利用无关项化简时的卡诺图如图2-10a所示,由图可得
利用无关项化简时的卡诺图如图2-10b所示,由图可得
由上例可以看出,利用无关项化简时所得到的逻辑函数式比未利用无关项化简时要简单得多。因此,化简逻辑函数时应充分利用无关项。应当指出,无关项是为化简其相邻1方格服务的,当化简1方格需用到相邻无关项时,则无关项作1处理,不要再为余下的无关项画包围圈化简。
【例2-10】将含有如下式所示的约束项的逻辑函数化简为最简与或表达式。
解:上述联立方程中的约束条件AB+AC=0表示AB+AC对应的最小项是约束项,是不允许出现的。
1)画卡诺图,如图2-11所示。
图2-11 例2-10图
2)填卡诺图。在有最小项的方格中填“1”,在无关项的方格中填“×”。
3)合并相邻最小项,写出最简与或表达式,即
2.2.4 组合逻辑门电路
1.组合逻辑电路的基本概念
在数字逻辑电路中,如果一个电路在任何时刻的输出状态只取决于该时刻的输入状态,而与电路的原有状态无关,则该电路称为组合逻辑电路。
图2-12所示是一组合逻辑电路示意框图,它有n个输入变量,即A0、A1、…、An-1;m个输出函数,即Y0、Y1、…、Ym-1,其输入、输出之间的逻辑关系为
图2-12 组合逻辑电路示意框图
其结构特点是,组合电路由门电路组合而成。门电路是组成组合逻辑电路的基本单元。输入信号可以有1个或若干个,输出信号也可以有1个或若干个。电路中没有记忆单元,输出到输入没有反馈连接。
其功能特点是,电路在任何时刻的输出状态只取决于该时刻各输入状态的组合,而与电路的原状态无关,即无记忆功能。
组合逻辑电路的功能除逻辑函数式来描述外,还可以用真值表、卡诺图和逻辑图等方法来进行描述。
2.组合逻辑电路的分析
组合逻辑电路分析是,根据给定逻辑电路,找出输出变量与输入变量之间的逻辑关系,并确定电路的逻辑功能。
组合逻辑电路的分析步骤如下所述。
1)由给定逻辑电路写出其输出逻辑函数表达式。一般从输入端到输出端逐级写出输出对输入变量的逻辑表达式,最后得到所分析的组合逻辑电路的输出逻辑函数式。
2)对输出逻辑表达式进行化简。用公式法或卡诺图法对输出表达式进行化简,求出最简输出逻辑表达式。
3)根据输出逻辑表达式列真值表。基本方法是,将所有输入变量的取值组合代入输出表达式中计算,并将其对应的值列真值表。在列真值表时,一般按二进制的自然顺序,输出与输入值一一对应,列出所有可能的取值组合。
4)说明逻辑电路的功能。根据逻辑函数式或真值表的特点,用简明的语言说明组合逻辑电路的逻辑功能。
3.分析举例
【例2-11】分析图2-13所示的组合逻辑电路。
图2-13 例2-11图
解:1)根据逻辑电路写出输出逻辑函数表达式。由图可得
由此可得电路的输出逻辑函数表达式为
2)根据逻辑函数表达式列真值表。例2-11的真值表如表2-2所示。
表2-2 例2-11的真值表
3)说明逻辑功能。由表2-2可以看出,当A、B输入的状态不同时,输出Y=1;当A、B输入的状态相同时,输出Y=0。因此,图2-13所示的逻辑电路具有异或功能,为异或门。
【例2-12】分析如图2-14所示的组合逻辑电路。
图2-14 例2-12图
解:1)根据逻辑电路写出各输出的逻辑表达式。由图2-14所示可得
组合逻辑电路输出表达式Y为
2)对逻辑表达式化简为
3)根据逻辑表达式列真值表。例2-12的真值表如表2-3所示。
表2-3 例2-12的真值表
4)说明逻辑电路的功能。从真值表可以看出,图2-14所示电路的逻辑功能是:当输入端C为1时,输出为1;当输入C为0时,只有当A、B同时输入为1时,输出才会为1。
4.组合逻辑电路的设计
组合逻辑电路的设计是,根据给定的逻辑功能或逻辑要求,实现逻辑电路。
(1)设计方法
1)分析设计要求,列真值表。根据给定的实际逻辑问题,确定哪些是输入量、哪些是输出量以及它们之间的关系,然后给予逻辑赋值,列出真值表。
2)根据真值表写出逻辑表达式。将真值表中输出为1所对应的各个最小项相加后,得到输出逻辑函数表达式。
3)化简逻辑表达式。通常用代数法或卡诺图法对逻辑函数进行化简。
4)根据逻辑表达式画出逻辑电路图。根据化简的逻辑表达式,用基本的门电路画出逻辑电路图,也可根据要求将输出逻辑函数变换为与非表达式、或非表达式、与或非表达式等来画出逻辑电路图。
(2)设计举例
【例2-13】用与非门设计举重裁判表决电路。设举重比赛有3个裁判,一个主裁判和两个副裁判。杠铃完全举成功的裁决由每一个裁判按一下自己面前的按钮来确定。只有当两个或两个以上裁判判明成功、并且其中有一个为主裁判时,表明成功的灯才亮。
解:1)分析设计要求,设主裁判为变量A,副裁判分别为B和C。表示成功与否的灯为Y。裁判成功为1,不成功为0。
2)根据逻辑要求列出真值表。3个输入变量,共有8种不同组合。例2-13的真值表如表2-4所示。
表2-4 例2-13的真值表
3)写逻辑函数表达式,即
4)化简并表示成与非表达式,即
5)根据逻辑表达式画出逻辑图。例2-13的逻辑图如图2-15所示。
图2-15 例2-13的逻辑图
【例2-14】交通信号灯有红、绿、黄3种,3种灯单独工作或黄、绿灯同时工作是正常情况,其他情况属于故障现象,要求当出现故障时输出报警信号。试用与非门设计一个交通灯报警控制电路。
解:1)根据题意,设输入变量为A、B、C,分别表示红绿黄3种灯,灯亮时值为1,灯灭时为0,输出报警信号用Y表示。当灯正常工作时,其值为0;当灯出现故障时,其值为1。
2)列出该报警电路的真值表。例2-14的真值表如表2-5所示。
表2-5 例2-14的真值表
3)写表达式并化简
4)画出逻辑图。例2-14的逻辑图如图2-16所示。
图2-16 例2-14的逻辑图
5.组合逻辑电路中的竞争冒险
前面在分析和设计组合逻辑电路时,仅仅考虑了稳态情况下的电路输入、输出关系,这种输入、输出关系完全符合真值表所描述的逻辑功能。然而,电路在实际工作过程中由于某些因素的影响,其输入、输出关系可能会瞬间偏离真值表,产生短暂的错误输出,造成逻辑功能瞬时的紊乱,经过一段过渡时间后才到达原先所期望的状态。这种现象称为逻辑电路的冒险现象,简称为险象,瞬间的错误输出称为毛刺。
逻辑电路的险象持续时间虽然不长,但危害却不可忽视。尤其是当用组合逻辑电路的输出驱动时序电路时,有可能会造成严重后果。
(1)竞争与冒险现象
在组合逻辑电路中,由于各门电路的传输延迟时间不同、输入信号变化快慢不同、信号在网络中传输的路径不同,所以信号到达某一点必然有先有后。把信号在网络中传输存在时差的现象称为竞争。
大多数组合逻辑电路都存在竞争,但有的竞争并无害处,而有的竞争会使真值表所述的逻辑关系遭到短暂的破坏,并在输出产生尖峰脉冲(毛刺),这种现象称为产生竞争—冒险。逻辑竞争产生的冒险现象也称为逻辑险象。
根据毛刺的极性的不同,可以把险象分为0型险象和1型险象两种类型。输出毛刺为负向脉冲的险象称为0型险象,它主要出现在与或、与非、与或非电路中。输出为正向脉冲的险象称为1型险象,它主要出现在或与、或非电路中。
(2)冒险现象的识别
在输入变量每次只有一个改变状态、其余变量取特定值(0或1)的简单情况下,若组合逻辑电路输出函数表达式为下列形式之一,则存在逻辑险象。
存在0型险象
存在1型险象
【例2-15】试判别逻辑函数式Y=AB+AC+BC是否存在冒险现象。
解:写出逻辑函数式
Y=AB+AC+BC
当取A=1、C=0时,,出现冒险现象。
当取B=0、C=1时,,出现冒险现象。
当取A=0、B=1时,,出现冒险现象。
由以上分析可知,逻辑函数表达式Y=AB+AC+BC存在冒险现象。
(3)逻辑险象的消除方法
当组合逻辑电路存在险象时,可以采取修改逻辑设计、增加选通电路、增加输出滤波等多种方法来消除险象。修改逻辑设计来消除险象,实际上是通过增加冗余项的办法来使函数在任何情况下都不可能出现和的情况,从而达到消除险象的目的。
1)加选通脉冲。对输出可能产生尖峰干扰脉冲的门电路增加一个选通信号的输入端,只有在输入信号转换完成并稳定后,才引入选通脉冲将它打开,此时才允许有输出。在转换过程中,由于没有加选通脉冲,因此输出不会出现尖峰干扰脉冲。
2)接入滤波电容。由于尖峰干扰脉冲的宽度一般都很窄,在可能产生尖峰干扰脉冲的门电路输出端与地之间接入一个容量为几十皮法的电容就可吸收掉尖峰脉冲。