数字电子技术基础
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.5 逻辑代数

逻辑代数又称布尔代数,其基本思想是由英国数学家乔治·布尔于1849年首先提出的,发展成为分析和设计逻辑电路的数学工具。在数字电子技术中,逻辑代数是用来分析输入逻辑变量与输出逻辑变量之间逻辑功能的一种数学的方法,通常记作:F=f(A,B,C,…),逻辑函数F是输出逻辑变量,叫作因变量或输出变量,A,B,C,…叫作自变量或输入逻辑变量,函数中所有的变量都只有“1”和“0”两种取值。

1.5.1 逻辑代数运算法则

与、或和非运算是逻辑代数的基本运算,其运算规则的基本定律和恒等式如表1.5.1所示。

表1.5.1 逻辑代数的基本定律和恒等式

(续)

表中基本的定律可用真值表来验证,一般的定律和恒等式可用基本定律或真值表验证。

1.5.2 逻辑代数的基本规则

1.代入规则

将等式两边的某变量,例如变量A,都用一个函数代替,则等式仍然成立。

例如:

将两边的B用B+C代入便得到

2.反演规则

用反演规则可以求出一个函数L的非函数。将原函数F中的“·”换成“+”,“+”换成“·”;“0”换成“1”,“1”换成“0”;原变量换成非变量,非变量换成原变量,长非号即两个或两个以上变量的非号不变,保持原来的运算优先顺序,应合理加括号,即可得非函数。

用反演规则,求的非函数

为了保持原函数逻辑优先顺序,应合理加括号,否则会出错。

3.对偶规则

将逻辑表达式F中的“+”换成“·”,“·”换成“+”,“1”换成“0”,“0”换成“1”,并保持原先的逻辑优先级,变量不变,两变量以上的非号不变,则得到的新函数就叫原函数F的对偶式。在求对偶式时,为保持原式的逻辑优先关系,应正确使用括号,否则就要发生错误。根据对偶规则可知,原式F成立则其对偶式也一定成立。

例如:

则对偶式也成立:

1.5.3 逻辑函数的代数变换与化简法

对于特定的逻辑问题:真值表是唯一的,逻辑函数表达式不唯一,则实现的逻辑电路不是唯一的,但每一种函数对应一种逻辑电路,所以在逻辑电路设计中,经常需要进行逻辑函数化简,逻辑式越简单,它所表示的逻辑关系越明显,同时也有利于用最少的电子器件实现这个逻辑函数。

一般逻辑函数化简后都用逻辑与或式表示,所谓最简与或式指的是与或式中与项的个数最少,并且每个与项的变量数最少。这样需要使用与门和或门两种类型的器件,如果只用与非门一种器件,则把最简单的与或式转换成与非-与非式后,就可以只使用与非门来实现。

一个逻辑函数主要有5种不同的逻辑函数表达式:

1)与-或表达式;

2)与非-与非表达式;

3)与-或-非表达式;

4)或-与表达式;

5)或非-或非表达式。

例如,有一个逻辑函数的与或表达式为,则其他4种表达式为

1)与非-与非表达式。

将与-或式两次取反,利用摩根定律可得

2)与-或-非表达式。

首先求出非函数的与-或式的最简表达式

然后再取非一次即得与-或-非表达式

3)或-与表达式。

将与-或-非表达式用摩根定律展开,即得或-与表达式如下

4)或非-或非表达式。

将或-与表达式两次取非,用摩根定律展开一次,得或非-或非表达式

以上5个式子是同一函数不同形式的最简表达式。逻辑函数化简就是要消去与-或表达式中多余的乘积项和每个乘积项中多余的变量,以得到逻辑函数的最简与-或表达式。有了最简与-或表达式以后,再用公式变换就可以得到其他类型的函数式,所以下面着重讨论与-或表达式的化简。

逻辑函数化简,并没有一个严格的原则,通常遵循以下几条原则:

1)逻辑电路所用的门最少;

2)各个门的输入端要少;

3)逻辑电路所用的级数要少;

4)逻辑电路能可靠地工作。

逻辑化简主要有代数法(也叫公式法)和卡诺图法两种。

1.5.4 逻辑函数的代数法化简

代数法化简是运用逻辑代数的基本定律和规则求得最简逻辑函数表达式的过程。化简过程需要综合使用以下方法。

1.并项法

任何两个相同变量的逻辑项,只有一个变量取值不同(一项以原变量形式出现,另一项以反变量形式出现),我们称为逻辑相邻项(简称相邻项)。如AB与,ABC与,都是相邻关系。如果函数存在相邻项,可利用吸收定律,将它们合并为一项,同时消去一个变量。例如:用公式将两项合并成一项,并消去一个变量。例如:

式中,可以看作一个整体

其中,与其余4项均是相邻关系,可以重复使用。

所以:

2.应用吸收定律A+AB=A

1)若式中存在某单因子项,则包含该因子的其他项为多余项,可消去。

A+AB(多余项)=A(1+B)=A

2)如其他项包含该因子的“反”形式,则该项中的“反”因子为多余变量,可消去。

例如:

3.应用多余项定律

例如:

4.配项法

直接用公式已无法再化简时,可采用配项法。配项法就是用去乘某一项,将一项拆成两项,再利用公式与别的项合并达到化简的目的。此方法较难,要有一定的经验,否则越配越难。

例如:

此式为表1.5.1中常用恒等式的一种,可以直接将BCD去掉。

例1.5.1 用代数法化简

例1.5.2 用代数法化简

1.5.5 逻辑函数的卡诺图法化简

逻辑函数的卡诺图化简跟逻辑函数的最小项和最大项有关,最小项为变量与的形式,最大项为变量或的形式。

1.最小项

n个变量的逻辑函数中,若m为包含n个变量的乘积项(即与项),而且n个变量均以原变量或反变量的形式在m中出现,并且仅出现一次,则称m为该组变量的最小项。n个变量的最小项的个数为2n。以三变量A、B、C为例,共有8个最小项,分别为、ABC,最小项用m来表示。变量的某一组取值使得某个最小项为1则该组取值对应的十进制数就是这个最小项的编号。三变量的各个最小项的编号如表1.5.2所示。

表1.5.2 三变量最小项编号

最小项的性质:

1)对任意一个最小项,只有一组变量取值能使它的值为1,其他取值它均为0。

2)对变量的任意一组取值,任意两个最小项的乘积为0,全体最小项的和为1。

3)具有相邻性的两个最小项之和可以合并为一项并消去一个变量,即两个最小项之间只有一个变量不同,其余各变量均相同,则称这两个最小项为相邻项,相邻项中不同的变量可消去。如

4)任何一个逻辑函数,都可以表示成唯一的一组最小项之和的形式,称为标准与或表达式,也称最小项之和的表达式。

2.最大项

n个变量的逻辑函数中,若M为包含n个变量的或项,而且n个变量均以原变量或反变量的形式在M中出现,并且仅出现一次,则称M为该组变量的最大项。n个变量的最大项的个数为2n。以三变量A、B、C为例,共有8个最大项,分别为、A+B+C,最大项用M来表示。变量的某一组取值使得某个最大项为0则该组取值对应的十进制数就是这个最大项的编号。三变量的各个最大项的编号如表1.5.3所示。

表1.5.3 三变量最大项编号

最大项的性质:

1)对任意一个最大项,只有一组变量取值能使它的值为0,其他取值它均为1。

2)对变量的任意一组取值,任意两个最大项的和为1,全体最大项的积为0。

由表1.5.2和表1.5.3可知,最小项和最大项的关系为

3.逻辑函数最小项之和以及最大项之积的两种表示式

(1)逻辑函数最小项表达式 利用基本公式可以把任何一个逻辑函数化为最小项之和的标准形式,称为逻辑函数的最小项表达式。

例如:给定逻辑函数为,则它的最小项表达式为

(2)逻辑函数最大项表达式 给定逻辑函数的最小项表达式为L=∑mi,则最大项表达式为

例如:上面给定的逻辑函数的最大项表达式为

在本书中,卡诺图化简主要使用最小项表达式。

4.卡诺图化简

(1)卡诺图 卡诺图是根据变量的最小项一一对应地按一定规则排列的方格图,每个最小项对应一个小方格。n个变量有2n个最小项,其卡诺图的方格数也有2n个。卡诺图中几何位置相邻的最小项只有一个变量取值不同,其余的都相同,这样的最小项具有循环相邻的特性,我们把这样的最小项称作逻辑相邻项。1个变量至4个变量的卡诺图分别如图1.5.1 a~d所示。

图1.5.1 卡诺图

(2)用卡诺图化简逻辑函数 任何一个逻辑函数式,都可以表示成最小项之和的形式,而卡诺图就是一种逻辑函数的最小项表示形式。因此,可以用卡诺图表示逻辑函数,并进行化简。卡诺图表示逻辑函数的方法是:在所包含最小项的方格中填1,不包含最小项的方格中填0(或不填)。

用卡诺图合并最小项原则是:在图中用矩形或正方形把含“1”的相邻项圈成一组构成包围圈,包围圈中的最小项的数目一定是2mm=0、1、2、3、4……),即1、2、4、8、16……,保留包围圈中的所有相同变量,消去不同的变量;一个圈中包含2m个最小项,可以消去m个变量,圈的范围越大得到的乘积项越简,另外圈的数目越少得到的乘积项的个数就越少,化简后的与-或表达式才越简;每个包围圈内必须至少包含一个未圈过的最小项,而所有的最小项要都圈到,可以被圈多次,但不能遗漏不圈。

用卡诺图化简逻辑函数的一般步骤:

1)根据变量数画出相应变量的卡诺图;

2)将逻辑式包含的最小项填入卡诺图相应的方格中,用1表示,其余方格填0或不填,若逻辑式不是由最小项表示的,可以先化成最小项,也可以直接填入卡诺图;

3)根据上述合并最小项原则画矩形或正方形的包围圈;

4)写出最简与或表达式。与项的个数就是包围圈的个数,每个与项的变量数由包围圈的大小决定。

例1.5.3 用卡诺图化简逻辑式

:1)画出三变量的卡诺图,如图1.5.2所示。

2)把组成逻辑与或式的4个最小项用1表示在卡诺图中。

3)根据合并最小项的原则画包围圈。

图1.5.2 例1.5.3的卡诺图

4)写出化简后的与或表达式

F=AB+BC+AC

例1.5.4 化简下列用卡诺图表示的逻辑函数(见图1.5.3),写出最简的与或逻辑式。

图1.5.3 例1.5.4的卡诺图

例1.5.5 卡诺图化简F(A,B,C,D)=∑m(2,3,8,10,12)。

:此题有两种画包围圈的方法,分别如图1.5.4 a和图1.5.4 b所示,m10可以同m2圈,也可以同m8圈,所得结果不一样,但最简程度一样,两个答案都正确。

分别为

例1.5.6 将逻辑函数式用卡诺图表示并化简。

:将原表达式填入卡诺图,画圈化简,如图1.5.5所示,得到的最简表达式:

图1.5.4 例1.5.5的卡诺图

图1.5.5 例1.5.6的卡诺图

在逻辑电路设计时,经常会有某些逻辑组合不可能出现的情况,这些逻辑组合的值为0或1对逻辑结果没任何影响,这种组合项称为无关项(任意项、约束项)。化简时可根据最简原则,把这些项当为0或1。状态表和卡诺图中无关项用×表示,在用最小项编号的表达式中用∑d表示无关项。

例1.5.7 用卡诺图化简具有无关项的逻辑函数:F(A,B,C)=∑m(1,2)+∑d(4,5,6,7)。

:将表达式写入三变量的卡诺图。

如图1.5.6所示画圈化简后,得到的与-或表示:。可见,利用无关项化简比不利用无关项化简,结果要简单很多。

图1.5.6 例1.5.7的卡诺图

例1.5.8 用卡诺图化简逻辑函数:F(A,B,C,D)=∑m(5,6,7,8,9)+∑d(10,11,12,13,14,15)。

:此逻辑函数用卡诺图化简过程如图1.5.7所示。简化结果为F=A+BD+BC。

例1.5.9 用卡诺图化简逻辑函数:F(A,B,C,D)=∑m(1,5,8,12)+∑d(3,7,10,11,14,15)。

:此逻辑函数用卡诺图化简过程如图1.5.8所示,由于m11和m15对化简不利,因此就没圈进。简化结果为

图1.5.7 例1.5.8的卡诺图

图1.5.8 例1.5.9的卡诺图

1.5.6 逻辑关系的5种表示方法

逻辑关系可以用不同的方法来表示,常用的表示方法有真值表、逻辑式、逻辑图、波形图和卡诺图等,这5种形式可以互相转换。

下面以对三人投票(少数服从多数)表决一个事件的逻辑关系为例,分别用5种不同的方法来表示。

1.真值表

将输入变量所有的取值与所对应的输出值以表格形式列出,即可得到真值表,如表1.5.4所示。如果有n个变量,每个变量有0、1两种取值,则有2n种组合。对三人投票表决一个事件列真值表。首先设A、B和C表示三人各自的表决情况,Y表示最后的表决结果。如果用正逻辑表示,即投同意票用1表示,投反对票用0表示;事件投票通过用1表示,没通过用0表示。那么所列的真值表如表1.5.4所示。

表1.5.4 用真值表表示逻辑关系

2.卡诺图

表1.5.4的真值表用卡诺图来表示,如图1.5.9所示。

图1.5.9 用卡诺图来表示逻辑关系

3.逻辑函数表达式

把真值表1.5.4中输出逻辑为1所对应的最小项相或,即可以得到所对应的最小项逻辑函数表达:,最简的与-或表达式:Y=AB+AC+BC。

常用的逻辑函数表达式是与-或式,另外还有与-非、或-非、与-或-非和或-与等形式,不同的形式对应不同的逻辑门电路来实现,逻辑函数表达式的形式是可以互相转换的。例如,采用摩根定律可以将与-或表达式转换为与非-与非表达式。

4.逻辑电路图

将逻辑式中的变量及变量之间的与、或、非等逻辑关系用门电路逻辑符号表示出来,就得到了该逻辑关系的逻辑电路图。Y=AB+AC+BC的逻辑电路图如图1.5.10所示。

5.波形图

按真值表的8种取值顺序,分别画出所对应的输出逻辑变量的值,用波形图来表示的三人表决逻辑关系如图1.5.11所示,图中表示了8种完整的输入、输出情况。

图1.5.10 用逻辑图表示逻辑关系

图1.5.11 用波形图表示逻辑关系