第3节 逻辑代数基础
逻辑代数是设计、分析数字逻辑电路的数学理论工具,在常用的普通数字电路中只涉及逻辑代数知识的最基础部分。
用不同方式表述同一个逻辑问题,称为表述方式的转换。用不同运算结构的表达式表示同一个逻辑问题,称为表达式的变换。等效转换与等效变换是逻辑代数处理逻辑问题的两个基本手段,与表达式相关的转换和表达式的变换是逻辑代数的主体内容。
一、真值表、最小项、标准与或表达式
1.最小项和真值表
1)最小项
逻辑代数把包含全部变量(每个变量以原变量或反变量形式只能出现一次)的 “全变量乘积项”,叫做最小项。
在真值表中,全部变量的每一种取值组合对应一个最小项,其中对应0值的变量加反号、对应1值的变量不加反号。最小项与全部变量的取值组合一一对应,N个变量的逻辑函数有2N种取值组合,就有2N个最小项。最小项用m表示,为便于区分,还要给予编号,编号等于取值组合的二进制数对应的十进制值。
表1-20、表1-21、表1-22分别为二变量、三变量、四变量逻辑函数真值表中变量取值组合与最小项的对应关系。
表1-20 二变量逻辑的真值表
表1-21 三变量逻辑的真值表
表1-22 四变量逻辑的真值表
2)标准与或表达式
由最小项相或构成的逻辑表达式叫做“标准与或表达式”,简称“标准与或式”。标准与或表达式的结构具有以下两个特点:
(1)式中只有与、或两种运算和对变量取反的非号,与运算都是最小项,由对应同一种函数值的全部(且无重复的)最小项组成;
(2)式中无括号、无对运算取反的非号,表达式中的运算顺序是先与后或。
一个逻辑的函数表达式可随意变换为多种形式,只有标准与或表达式具有唯一性。
2.由真值表写标准与或式的方法
在介绍基本逻辑时,按真值表写逻辑表达式依据的是基本逻辑定义,不能适用于写一般逻辑的表达式。依据标准与或表达式跟真值表的对应关系和标准与或表达式的唯一性,就可以方便、准确地按真值表写出各种逻辑函数的标准与或表达式,并能确保它们之间的等效性。
在同一个真值表中,由函数取1值对应的最小项组成的标准与或式是逻辑正函数(也叫原函数)表达式,由函数取0值对应的最小项组成的标准与或式是逻辑反函数表达式。
(1)由真值表写正逻辑函数的标准与或式。
以或逻辑的真值表(见表1-13)为例,按真值表写表达式的步骤如下:
① 在真值表中找出使函数L=1所对应的变量组合及其对应的最小项如表1-23所示。
表1-23 或逻辑真值表及最小项
② 把所有使L=1的最小项相或,得到的就是按真值表写出的标准与或表达式:
可用真值表(表1-24)证明1-35式和或逻辑的定义式1-14是等效(相等)的。
表1-24 证明或逻辑的标准与或式与定义式等效真值表
通过实际数据运算证明两个表达式是等效的,即
在本节后文的“表达式化简”内容中还将通过表达式化简说明1-14式是1-35式的最简式。前文介绍的七种逻辑中,非逻辑、与逻辑和异或逻辑的定义式就是标准与或式,或逻辑的标准与或式和定义式的等效关系在此已经证明,另三种逻辑的证明、化简留给读者。
(2)由真值表写反逻辑函数的标准与或式。
把L=0的所有最小项相或,构成反函数的标准与或表达式。
表1-16的真值表中还有一组使L=0的组合:A=0、B=0,写成乘积项是
是A+B的反函数。
给正函数的表达式整体加反号也表示反函数:
所以,
在下文介绍“摩根定理”的内容中读者还会见到这个等式并领略它的重要性。
(3)标准与或式都可用最小项求和的编号形式表示:
表达式中:Σ表示求和(即或运算), mi表示逻辑函数的最小项含i个变量,括号中的数字表示最小项的编号。如:
可以表示为:
(4)逻辑的正、反函数成互补关系。正、反函数式相或合并,就是一个逻辑的全部最小项相或,其结果恒等于1。用表达式表示为:
逻辑函数若有不可能出现或不允许出现的变量组合,这些变量组合对应的最小项叫做约束项(或无关项)。把所有约束项相或组成约束函数的标准与或表达式,用于表示逻辑的约束条件。在真值表和后文的卡诺图中,约束项通常用ϕ或×表示,用ϕ表示约束函数。
约束项对正、反函数都无影响,约束项的重要应用是参与正、反函数表达式化简(见后文表达式的图形化简法部分)。
二、摩根定理和括号变换法则
逻辑表达式的等效变换有繁简变换和运算结构变换两种类型。表达式的繁简等效变换由与、或运算法则保证,表达式的运算结构等效变换要参照摩根定理进行。在表达式等效变换的步骤中经常涉及括号的用与不用,以保证变换的等效性。
1.德·摩根定理
德·摩根定理(简称摩根定理)是揭示与、或两种基本逻辑之间的等效变换关系,专门用于处理反号的定理。两个变量的摩根定理表达式形式:
1-39式表示“两个变量相或后取反,和两个变量取反后相与等效”。这个等效关系在或逻辑真值表(表1-25)中表现为正、反函数关系。
表1-25 或逻辑真值表中的正、反函数
按函数值1、0定名函数的正、反,按变量正、反定名逻辑正、负。但此处不讨论负逻辑,第3章内容将涉及负逻辑的使用。
Y=1对应或逻辑的正函数:
Y=A+B
Y=0则对应或运算的反函数:
正函数表达式取反和反函数表达式等效:
同样,1-40式表示“两个变量相与再取反,和两个变量取反后相或等效”,从与逻辑的真值表(表1-26)中表现为正、反函数关系。
表1-26 与逻辑真值表中的正、反函数
Y=1对应与逻辑的正函数:
Y=A·B
Y=0则对应与运算的反函数:
就是
摩根定理还适用于更多变量的与、或变换,如:
2.括号变换法则
和普通数学一样,逻辑表达式中超越规则的运算也用加括号方式表示。在表达式的变换中加括号和去括号(也叫展开括号)的目的是保证变换的等效性。
(1)在与、或的混合运算中,不同乘积项中的相同变量也称作公因子,相同的运算单元称作公因式。提取公因子(或公因式)的表达式变换要加括号,如:
提取公因子(或公因式)的逆变换是展开括号,如:
这两个表达式变换在普通数学中已是常识,在逻辑变换中的等效性是否成立,是需要给予证明的。表1-27是证明AB+AC与A(B+C)是否相等的真值表。
表1-27 证明等式的真值表
通过真值表证明:
AB+AC=A(B+C)
成立。
经过证明的表达式等效变换可以作为公式使用。
(2)在与和异或的混合运算中,经过证明,也有同样的等效变换。
提取公因子:
展开括号:
(3)异或和或运算之间要严格按异或运算变换为与或复合运算处理:
(4)用摩根定理变换表达式运算类型,有时要加括号,以维持表达式原来运算顺序,保证变换的等效性。如:
可用真值表检验表达式的等效关系,如表1-28所示。
表1-28 检验变换等效性真值表
通过真值表的实际运算证明,与非运算变换为或运算后加括号能保证等效,而不加括号的变换就不能等效(有两组变量运算后的函数值与原式不等)。
三、逻辑表述方式之间的转换
1.按表达式做真值表
按表达式做真值表有计算法和最小项法两种常用方法。
(1)计算法:将变量的各组取值分别代入表达式进行计算,把计算得到的函数值填入真值表的表格,就完成了逻辑函数真值表的制作,如表1-29所示。
表1-29 Y=A(B+C)的计算表
(2)最小项法:依据标准与或表达式跟真值表的对应关系,只要能得到逻辑函数的标准与或表达式,就可以做出逻辑函数的真值表,而任何形式的逻辑表达式都能变换为标准与或表达式。
【例1-3】
依据标准与或表达式中的最小项,按原变量对应1、反变量对应0的关系,可确定使函数取1值的变量组合(如表1-30所示):
表1-30 最小项与取值组合的对应关系
设计真值表,函数有3个变量A、B、C,全部变量的组合数为23=8种(N个变量的全部组合为2N)。在变量取值组合对应的函数值位置填写1,其他位置填写0。做出的真值表如表1-31所示。
表1-31 Y=A(B+C)真值表
用计算法做真值表有时比变换标准与或式的方法简单。
2.表达式与逻辑图之间的转换
表达式中的运算符就是逻辑图中的逻辑符号,也是逻辑电路中的逻辑门。表达式中的逻辑运算顺序就是各逻辑门电路(逻辑符号)之间的连接关系。
表达式是逻辑图(逻辑电路)的数学表示形式,结构一致的逻辑电路与逻辑表达式具有相互转换的等效关系。
处理逻辑表达式与逻辑图之间的转换时常需要对表达式按运算顺序做分层,表达式的等效分层由代入法则予以保证。
1)代入法则
借助代入法则可将表达式进行分层处理,以确定逻辑表达式中包含的各种运算及运算顺序。依据代入法则,在逻辑表达式中,任何变量都可视为一个函数,任何一个或一组运算都
可用一个新变量代换。如:
Y=AB+CD
若:
D=MN+L
表达式则是
Y=AB+C(MN+L)
如果设:
F=AB
表达式又变换为
Y=F+C(MN+L)
代入法则所允许的代换对表达式的逻辑本质没有任何影响。
2)按表达式画逻辑图
(1)按表达式画逻辑图的步骤。
① 确定变量个数,即逻辑图的输入信号的个数。
② 借助代入法则对表达式的运算给以分层,直到变量为止,确定各层运算的逻辑符号类型。分层顺序:一般运算按或、异或、与、非、括号排序,多层的非运算按由上向下顺序逐层确认。
③ 确定运算顺序,即逻辑图中逻辑符号的连接关系,画出逻辑图。
【例1-4】画出表达式
的逻辑图。
表达式中的变量:A、B、C、D,共4个。
对表达式的运算分层,直到变量为止,确定各层运算需使用的逻辑符号。
第1层:
L=X1+X2+X3
是3个输入信号的或运算(用三输入端的或门),其中(是3输入端的与门,C信号要先经过非门), (是2输入与非门),而还需要继续分层确定。
第2层:
Y和D之间的运算用到一个异或门,而Y还需再分层。
第3层:
L=X1+X2+X3
其中,Z和C的运算用一个2输入与门。
第4层:
A、B之间的运算是2输入或门,其中B信号要先经过一个非门。
最后,按表达式分层的逆顺序,用分析出的逻辑符号画出逻辑图,如图1-15所示。
图1-15 和表达式1-48结构对应的逻辑图
(2)按逻辑器件变换表达式的运算结构。
表达式中的运算类型以及运算顺序是跟逻辑图的结构相对应的,不同的逻辑器件对应不同的逻辑运算符号。按指定的逻辑器件去设计逻辑电路,首先要通过变换得出相应运算结构的表达式。摩根定理可以随时应用于表达式任何部位的与、或、非变换,是随意变换表达式运算结构的方便工具。
在逻辑代数中常按运算类型(对应逻辑器件)和顺序给表达式命名,例如:与或式、或与式、与或非式、与非-与非式,等等。
【例1-5】下面是一个逻辑函数表达式的4种结构:
和上述4种表达式结构对应的逻辑图如图1-16所示。
由于一片数字集成电路内含多个同类逻辑门,为充分利用电路资源,在实际制作电路时,通常选用同种逻辑器件构成,如与非门构成“与非-与非”结构、或非门构成的“或非-或非”结构,把与非门、或非门的输入端并联,都可构成非门。
3)按逻辑图写表达式的方法
按逻辑图写表达式有两种方法,一种是从逻辑图的输入端入手,另一种是从逻辑图的输出端入手。
图1-16 例1-5的4种逻辑图
(1)由电路的输入端入手写表达式的方法。
由电路的输入端写逻辑表达式时,是从电路的输入端开始依次在各逻辑门的输出端写出各逻辑门的输出结果,当写到电路的输出端时,完整的逻辑表达式也就写出来了。
【例1-6】图1-17所示就是这种方法。
图1-17 由逻辑图输入端入手写表达式的方法
写出的表达式:
(2)由电路输出端入手写表达式的方法。
由电路的输出端入手写逻辑表达式时,先给电路中的各逻辑门的输入信号赋予一个临时代号,再从输出端入手依次把各个逻辑门表示的逻辑运算关系逐层代入,一直推写到输入端,就可写出完整的表达式。
【例1-7】图1-18所示就是这种方法。
图1-18 由逻辑图输出端入手写表达式的方法
写出的表达式:
四、表达式化简
1.表达式化简的意义及最简标准
数字逻辑电路是按照表达式的运算结构连接成的,而一种逻辑功能可以有多种结构的表达式。化简结构是表达式变换的重要内容。
【例1-8】由真值表写出的或运算表达式:
由或运算定义写出的表达式:
M2=A+B
两个表达式对应的逻辑图如图1-19所示。
图1-19 或逻辑的两种表达式对应的逻辑图
前文已证明两个表达式的逻辑功能是等效的,选择结构简单的表达式制作电路,可以提高电路运行的可靠性和降低制作成本。因此,表达式化简是逻辑电路设计过程中不可忽视的环节。
把结构复杂的表达式变换为结构最简单的表达式叫做表达式化简,也叫逻辑函数化简。表达式化简要在与或表达式下进行,得到最简与或式,再通过摩根定理变换获得其他结构的最简式。
与或表达式的最简标准是:乘积项个数最少,而且每个乘积项中的变量数最少。
2.表达式化简方法
表达式化简要利用与或式结构进行操作。不是与或结构的表达式,要应用摩根定理变换为与或式。表达式化简常用方法有公式法和图形法两种。
公式法是利用与、或运算法则和等效变换公式进行化简。
结构简单的与或式化简可利用与、或运算法则AA=0、1+A=1等做公式法化简,减少乘积项及乘积项中变量个数,获得与或表达式的最简结构。
【例1-9】利用=0的化简:
【例1-10】利用1+A=1的化简:
B+AB=B(1+A)=B
对于结构较为复杂的与或式,要利用“A+=1”消除变量,进行化简。
【例1-11】利用A+A=1化简:
逻辑代数把“只有1个变量互补、其他因子相同的两个乘积项”称为逻辑相邻项(简称为相邻项)。一对相邻项相或,可消去其中的互补变量,合并为一个新的乘积项。通过多次相邻项结组、消除变量,直到无变量可消时,表达式就可能达到最简。这是公式法化简的本质原理,以卡诺图为工具实施这种化简的方法就是图形法。
卡诺图是由真值表衍变成的方格图,本质还是真值表。图1-20所示分别为2变量卡诺图、3变量卡诺图和4变量卡诺图,是由表1-20、表1-21、表1-22所示真值表变换结构方式而成。
图1-20 2、3、4个变量的卡诺图
卡诺图和真值表一样,跟标准与或表达式有严格的对应关系。卡诺图中的方格,既对应全部变量的各取值组合及函数值,又对应最小项。卡诺图的特殊结构使所有相邻的最小项都处于相邻位置,把各最小项的可化简关系直观地显示出来。卡诺图化简法常用在不多于5个变量的逻辑函数的化简(本书未用5变量卡诺图)。
制作一个逻辑函数的卡诺图,可依据函数的标准与或式直接填制。为使卡诺图内容简洁,习惯上只填一种函数值,有约束项的再用 φ 或 × 标出约束项的位置。不是标准与或式的要先变换为标准与或式,再填制卡诺图,也可由一般与或式按“倒化简法”直接填卡诺图。
【例1-12】制作函数Y=ABC+ABC+ABC+ABC+ABC的卡诺图。
这个函数表达式已经是含有3个逻辑变量的标准与或式(没有约束项),可按其中包含的最小项直接填制卡诺图。具体步骤如下:
第1步,画出3个变量的空白卡诺图。
第2步,按表达式:
在卡诺图的相应空格中填写1。得到的卡诺图如图1-21所示。
用卡诺图化简,首先要制作出卡诺图。卡诺图跟真值表一样,是与函数的标准与或表达式相对应的,制作卡诺图之前通常将函数表达式变换为标准与或式。
【例1-13】制作函数的卡诺图。
第1步,先将函数表达式转换为标准与或式:
图1-21 例1-12的卡诺图
第2步,画出3个变量的空白卡诺图,然后在4个最小项所在的方格中填入1,如图1-22所示。
图1-22 例1-13的卡诺图
填制卡诺图也可以用一般与或式,称为倒化简法。
【例1-14】制作函数的卡诺图。
先按表达式中变量个数画出4个变量的空白卡诺图,再在图中找出含有表达式中各乘积项为因子的最小项对应的方格,并填入1,如图1-23所示。
图1-23 例1-14的卡诺图
用公式法对一般结构的与或式化简时,为明确各乘积项之间的结组合并关系,需要将其变换为标准与或式,再结组化简。如:
若用图形化简,只是在卡诺图上画两个圈(称为圈项),就能得到函数化简后的最简与或表达式,既直观又简单,如图1-24所示。
图1-24 AB+AC+BC的卡诺图化简
用卡诺图圈项化简,被圈的必须是2整数幂的同值方格。两(21)个相邻最小项相或,可消去其中的互反变量,合并为一个乘积项,如图1-25所示。
图1-25 两个相邻项合并的类型
4(22)个有相邻最小项相或,可消去其中的互反变量,合并为一个乘积项,如图1-26所示。
图1-26 4个相邻项合并的类型
8(23)个有相邻最小项相或,可消去其中的3个互反变量,合并为一个乘积项,如图1-27所示。
图1-27 8个相邻项合并的类型
用卡诺图化简表达式的步骤:
① 将表达式变换为标准与或式,做出逻辑函数的卡诺图;
② 在图中画出圈项线,并写出每个圈项的合并结果;
③ 将各圈项得到的新乘积项相加,写出化简后的与或表达式。
一个逻辑函数含几个变量,它的每个最小项就有几个相邻项。在化简时,一个最小项可参与多组合并,或运算的重叠律A=A+A说明一项多用是合法的。
【例1-15】或运算标准与或式的化简:
或运算的重叠律在图形法化简中的做法就是一个最小项可参与多个圈项合并的化简方法,目的在于使化简一次达到最简。上式的图形化简如图1-28所示。
图形化简的圈项合并时要遵循“能大不小”的原则,充分利用或运算的重叠律,使圈项范围达到最大,可确保化简能一次达到最简的结果。
【例1-16】用卡诺图化简F=ABC+ABC+ABC+ABC,如图1-29所示。
图1-28 或运算标准与或式的化简
图1-29 例1-16的卡诺图
化简结果:F=AB+BC+AC
“能大不小”的规则不是绝对的,要因题而异。
【例1-17】化简特例如图1-30所示。
图1-30 不能大范围圈项的特例
对于具有约束项或无关项的函数,可借助约束项(或无关项)把表达式化简得更为简单。
【例1-18】利用约束项化简,函数F=∑m4(2,3,4,5,6,7,11,14) 的约束项条件是:φ=∑m4(9,10,13,15)。
化简如图1-31所示。
图1-31 例1-18的卡诺图
(a)为不考虑约束条件的化简结果:
(b)为利用约束条件的化简结果:
图1-32所示为三例未达最简的化简圈项以及正确圈项方法对照。
图1-32 不最简的圈项及对照
在可以化简的逻辑函数中,有一部分函数的最简结果不是唯一的,如图1-33所示。
图1-33 最简结果不是唯一的化简实例
利用反函数化简也是图形法化简的常用手段。
【例1-19】用卡诺图推证摩根定理。
设F=AB,则
用卡诺图对F化简,如图1-34所示。
图1-34 利用反函数的化简
所以,即
在实用中,电路的主体结构通常用特定功能的数字集成电路构成,需要制作者设计的只是一些较简单的辅助性电路,以解决各集成电路芯片之间的信号匹配问题,公式法和图形法的化简手段是很适用的。