第4章布尔代数和逻辑简化本章大纲4.1布尔运算和表达式4.2布尔代数的定律和法则4.3狄摩根定理4.4逻辑电路的布尔分析4.5用布尔代数进行简化4.6布尔表达式的标准形式4.7布尔表达式和真值表4.8卡诺图4.9卡诺图SOP最小化4.10卡诺图POS最小化4.115变量卡诺图本章学习目标■应用布尔代数的基本定律和法则■应用狄摩根定理到布尔表达式■用布尔表达式描述逻辑门网络■计算布尔表达式■使用布尔代数的定理和法则简化表达式■变换任意的布尔表达式为乘积加和(SOP)形式■变换任意的布尔表达式为加和乘积(POS)形式■使用卡诺图简化布尔表达式■使用卡诺图简化真值表函数■使用“无关紧要”条件简化逻辑功能■在系统应用中使用布尔代数和卡诺图方法重要术语■变量■反码■加和项■乘积项■乘积的加和(SOP)■加和的乘积(POS)■卡诺图■最小化■“无关紧要”■PAL简介1854年,乔治·布尔(GeorgeBoole)出版了一本著作,题目为《思想定律的调查研究并基于此建立了逻辑和概率的数学理论》。这篇著作中公式化的“逻辑代数”,今天被称为布尔代数。布尔代数是表示以及分析逻辑电路运算的一种方便而系统的方法。克劳德·香农(ClaudeShannon)第一次应用布尔的工作来分析和设计逻辑电路。1938年,香农在MIT写了一篇论文,题目是《延迟和转换电路的符号分析》。本章介绍了布尔代数的定律、法则和定理,以及它们在数字电路上的应用。你将学习怎样用布尔表达式来定义一个给定的电路,然后计算它的运算。你还会学习怎样使用布尔代数和卡诺图来简化逻辑电路。4.1布尔运算和表达式布尔代数是关于数字系统的数学。布尔代数的基本知识对于学习和分析逻辑电路是必不可少的。在上一章中,对于非、与、或、与非以及或非门相关的布尔运算和表达式已经得到了介绍。本节复习了上述内容并提供了附加的定义和信息。学完本节之后,你应当能够■定义变量■定义文字■识别加和项■计算加和项■识别乘积项■计算乘积项■解释布尔加法■解释布尔乘法布尔代数中所使用的术语为变量、反码和文字。变量是用以表示逻辑量的符号(通常是斜体大写字母)。一个单变量可以具有1或者0的数值。反码是变量的反相,并且由变量上方的横杠(上划杠)表示。例如,变量A的反码是A—。如果A=1,那么A—=O。如果A=0,那么A—=1。变量A的反码读作“A非”或者“A横杠”。有时候用撇符号而不是上划杠来指示变量的反码;例如,B就表示B的反码。在本书中,使用的是上划杠。文字是一个变量或者变量的反码。在微处理器中,算术逻辑单元(ALU)根据程序的指令,对数字数据执行算术和布尔逻辑运算。逻辑运算等价于你所熟悉的门运算,但是每次至少处理8位。布尔逻辑指令的例子为与、或、非和异或,它们被称为助记符。汇编语言程序使用助记符来指定运算。另一个称为汇编器的程序将助记符翻译成可以被微处理器理解的二进制代码。布尔加法□或门就是一个布尔加法器记得在第3章中,布尔加法等价于或运算,其基本法则用或门表示如下:_在布尔代数中,加和项是文字的加和。在逻辑电路中,加和项由或运算所生成,并没有涉及到与运算。加和项的一些例子为CBABABA、、和DCBA。当加和项中有一个或者多个文字为1时,加和项就等于1。只有当每个文字都是O时,加和项才等于0。示例4.1确定使得加和项DCBA等于0的A、B、C和D的值。解:为了使的加和项为0,该项中的每一个文字都必须是0.所以A=0、B=1(使得B=0)、C=0以及D=1(使得D=0)相关问题:确定使得加和项BA等于0的A和B的数值。答案在本章的结尾。布尔乘法□与门是一个布尔乘法器同样从第3章中我们知道,布尔乘法等价于与门运算,其基本法则用与门表示如下:在布尔代数中,乘积项就是文字的乘积。在逻辑电路中,乘积项由与门运算产生,而没有涉及或运算。乘积项的一些例子为AB、BA、ABC、以及DCBA。只有当乘积项中的每一个文字都是1时,乘积项才等于1。当一个或者多个文字为0时,乘积项就等于0。示例4.2确定使得乘积项DCBA等于1的A、B、C、D的数值。解:为了使得乘积项等于1,那么该项的每一个文字都必须是1.所以,A=1、B=0(使得B—=1)、C=1、以及D=0(使得D-=1)。相关问题:确定使得乘积项BA等于1的A和B的值。41节复习答案在本章的结尾。1.如果A=0,那么A等于多少?2.确定使得加和项CBA等于O的A、B和C的数值。3.确定使得乘积项等于CBA等于1的A、B和C的数值。4.2布尔代数的定律和法则和其他数学领域一样,我们必须遵循一些开发完好的法则和定律以正确使用布尔代数。最重要的定律和法则将在本节得到介绍。学完本节之后,你应当能够■应用加法和乘法的交换律■应用加法和乘法的结合律■应用分配律■应用布尔代数的12个基本法则布尔代数的定律布尔代数的基本定律——加法和乘法的交换律、加法和乘法的结合律以及分配律——和二进制代数中的定律是一样的。每一个定律都会由两个或者三个变量来阐释,但是变量的个数并不局限于此。交换律两变量加法的交换律可以写作A+B=B+A(式4.1)这个定律表明变量被执行或运算的次序并不会对结果产生差别。记住,在布尔代数应用于逻辑电路时,加法和或运算是一样的。图4.1展示了应用于或门的交换律,并且展示了变量应用于哪个输入上并不重要。(符号≡的意思是“等于”。)图4.1加法交换律的应用两变量乘法的交换律为AB=BA(式4.2)这个定律表明变量被执行与运算的次序并不会对结果产生差别。图4.2展示了这个定律被应用于与门。图4.2乘法交换律的应用结合律对于3个变量,加法结合律可以写作下面的形式A+(B+C)=(A+B)+C(式4.3)这个定律表在对于多于两个的变量进行运算时,无论将哪些变量分为一组,其结果都是相同的。图4.3展示了这个应用于2输入或门的定律。图4.3加法结合律的应用(参考F04-03文档)对于3个变量,乘法的结合律可以写作:A(BC)=(AB)C(式4.4)这个定律表明当多于两个变量进行与运算时,变量被分组的次序不会对结果产生差别。图4.4展示了这个应用于2输入与门的定律。图4.4乘法交换律的应用分配律对于3个变量的分配律可以写作:A(B+C)=AB+AC(式4.5)这个定律表明当对两个或者更多的变量执行或运算,然后再将结果与单个单变量进行与运算,等价于将这个单变量和这两个或者更多变量中的每一个变量分别进行与运算,然后再将乘积进行或运算。分配律同样表示了因子分解的过程,共同变量4从乘积项中分解出来,例如,AB+AC=A(B+C)。图4.5以门实现的形式阐述了分配律。图4.5分配律的应用(参考F04-05文档)布尔代数法则表4.1列出了12个基本法则,这在操作和简化布尔表达式中非常有用。法则1~9将会以它们在逻辑门中应用的形式得以介绍。法则10~12将会从先前已讨论的简单法则和定律中引申出来。表4.1布尔代数的基本法则1.A+0=A7.A∙A=A2.A+1=18.A∙A=O3.A∙0=09.A=A4.A∙1=A10.A+AB=A5.A+A=A11.A+AB=A+B6.A+A=112.(A+B)(A+C)=A+BCA、B或者C可以表示一个单变最或者变量的组合。法则1:A+O=A一个变量和0进行或运算总是等于变量本身。如果输入变量A是1,输出变量X就是1,也就是等于A。如果A是0的话,输出就是0,也等于A。这个法则如图4.6所示,其中第二个输入被固定为O。法则2:A+1=1一个变量和1进行或运算总是等于1。或门的一个输入为1,无论另一个输入上的变量值是多少,所产生的输出就会是1。这个法则如图4.7所示,其中第二个输入固定为1。法则3:A∙0=0一个变量和O进行与运算总是等于O。任何时候与门的一个输入为0,无论另一个输入上的变量值是多少,输出就是O。这个法则如图4.8所示,其中第二个输入固定为O。法则4:A∙1=A一个变量和1进行与运算总是等于变量本身。如果A为0,与门的输出就是O。如果A为1,与门的输出就是1,因为现在这两个输入都是1。这个法则如图4.9所示,其中第二个输入固定为0。法则5:A+A=A一个变量和它本身进行或运算总是等于变量本身。如果A为0.那么O+0=O;如果A为1,那么1+1=1。这个法则如图4.10所示,其中两个输入都是相同的变量。法则6:A+A=1一个变量和它的反码进行或运算总是等于1。如果A为0,那么0+0=0+1=1。如果A为l,那么1+1=1+0=1。参见图4.11,其中一个输入是另一个输入的反码。法则7:A∙A=A一个变量和它本身进行与运算总是等于变量本身。如果A=0,那么0∙O=O;如果A=1,那么1∙1=1。图4.12阐释了这个法则。法则8:A∙A=0一个变量和它的反码进行与运算总是等于0。A或者A将总是为O;当0应用于与门的输入时,输出也是O。图4.13阐释了这个法则。法则9:A=A对一个变量进行双重求反总是等于变量本身。如果你开始于变量A,并对其进行一次求反(反相),你就得到A。如果随后你再对A进行求反(反相),就会得到A,也就是原始变量。这个法则如图4.14所示,图中使用了反相器。法则10:A+AB=A这个法则可以使用分配律(法则2和法则4)来证明,如下所示:A+AB=A(1+B)因子分解(分配律)=A∙1法则2:(1+B)=1=A法则4:A∙1=A这个证明如表4.2所示,其展示了真值表以及结果逻辑电路简化。表4.2法则10:A十AB=AABABA+B直接连接0000O1001O011111直接连接等于法则11:A+BA=A+B这个法则证明如下:A+BA=(A+AB)+BA法则10:A=A+AB=(AA+AB)+BA法则7:A=AA=AA+AB+AA+BA法则8:加AA=0=(A+A)(A+B)因子分解=1∙(A+B)法则6:A+A=1=A+B法则4:舍去1这个证明如表4.3所示,其展示了真值表和结果逻辑电路简化。表4.3法则11:A+AB=A+BABABA+ABA+B00O0O011111O01111011等于法则12:(A+B)(A+C)=A十BC这个法则的证明如下所示:(A+B)(A+C)=AA+AC+AB+BC分配律=A+AC+AB+BC法则7:AA=A=A(1+C)+AB+BC因子分解(分配律)=A∙1+AB+BC法则2:1+C=1=A(1+B)+BC因子分解(分配律)=A∙1+BC法则2:1+B=1=A+BC法则A∙1=A这个证明如表4.4所示,其展示了真值表和结果逻辑电路简化。表4.4法则12:(A十B)(A+C)=A+BC(T04-04文档)ABCA+BA+CA十B)(A+C)BCA+BC000OO0000O1010O0O10100O0011111111O0111011011110111O1110111111111等于4.2节复习1.为表达式A+(B+C+D)应用加法的结合律。2.为表达式A(B+C+D)应用分配律。4.3狄摩根定理数学家狄摩根对布尔比较熟悉,他提出的两个定理,成为了布尔代数中的重要一部分。在实际术语中,狄摩根定理提供了与非门和非或门以及或非门和非与门之间等价的数学证明,上述的各种门是在第3章讨论的。学完本节之后,你应当能够■表述狄摩根定理■将狄摩根定理和与非门和非或门之间的等价以及或非门和非与门之间的等价相关联■将狄摩根定理应用于布尔表达式的简化狄摩根的一个定理如下所述:变量乘积的反码等于变量反码的加和。另一种表述方式是:两个或者多个变量进行与运算之后的反码等于单个变量的反码进行或运算的结果。如果是两个变量,表述这个定理的公式如下所示YXXY(式4.6)狄摩根第二个定理表述如下:变量之和的反码等于变量反码的乘积。另一种表述方式是:两个或两个以上变量进行或运算之后的反码等于单个变量反码进行与运算的结果。如果是两个变量的话,表述这个定理的公式为YXYX(式4.7)图4.15展示了式4.6和式4.7的等价门和真值表。图4.15用于阐释狄摩根定理的等价门和相应的真值表。注意每个表中的两个相同的输出列。这展示了