第4章 布尔代数和逻辑简化 (2011).doc_第1页
第4章 布尔代数和逻辑简化 (2011).doc_第2页
第4章 布尔代数和逻辑简化 (2011).doc_第3页
第4章 布尔代数和逻辑简化 (2011).doc_第4页
第4章 布尔代数和逻辑简化 (2011).doc_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章 布尔代数和逻辑简化本章大纲4.1 布尔运算和表达式4.2 布尔代数的定律和法则4.3 狄摩根定理4.4 逻辑电路的布尔分析 4.5 用布尔代数进行简化4.6 布尔表达式的标准形式4.7 布尔表达式和真值表4.8 卡诺图4.9 卡诺图SOP最小化4.10 卡诺图POS最小化4.11 5变量卡诺图本章学习目标 应用布尔代数的基本定律和法则 应用狄摩根定理到布尔表达式 用布尔表达式描述逻辑门网络 计算布尔表达式 使用布尔代数的定理和法则简化表达式 变换任意的布尔表达式为乘积加和(SOP)形式 变换任意的布尔表达式为加和乘积(POS)形式 使用卡诺图简化布尔表达式 使用卡诺图简化真值表函数 使用“无关紧要”条件简化逻辑功能 在系统应用中使用布尔代数和卡诺图方法重要术语 变量 反码 加和项 乘积项 乘积的加和(SOP) 加和的乘积(POS) 卡诺图 最小化 “无关紧要” PAL简介 1854年,乔治布尔(George Boole)出版了一本著作,题目为思想定律的调查研究并基于此建立了逻辑和概率的数学理论。这篇著作中公式化的“逻辑代数”,今天被称为布尔代数。布尔代数是表示以及分析逻辑电路运算的一种方便而系统的方法。克劳德香农(Claude Shannon)第一次应用布尔的工作来分析和设计逻辑电路。1938年,香农在MIT写了一篇论文,题目是延迟和转换电路的符号分析。 本章介绍了布尔代数的定律、法则和定理,以及它们在数字电路上的应用。你将学习怎样用布尔表达式来定义一个给定的电路,然后计算它的运算。你还会学习怎样使用布尔代数和卡诺图来简化逻辑电路。 4.1 布尔运算和表达式 布尔代数是关于数字系统的数学。布尔代数的基本知识对于学习和分析逻辑电路是必不可少的。在上一章中,对于非、与、或、与非以及或非门相关的布尔运算和表达式已经得到了介绍。本节复习了上述内容并提供了附加的定义和信息。 学完本节之后,你应当能够 定义变量 定义文字 识别加和项 计算加和项 识别乘积项 计算乘积项 解释布尔加法 解释布尔乘法布尔代数中所使用的术语为变量、反码和文字。变量是用以表示逻辑量的符号(通常是斜体大写字母)。一个单变量可以具有1或者0的数值。反码是变量的反相,并且由变量上方的横杠(上划杠)表示。例如,变量A的反码是。如果A = 1,那么 = O。如果A= 0,那么 = 1。变量A的反码读作“A非”或者“A横杠”。有时候用撇符号而不是上划杠来指示变量的反码;例如,就表示B的反码。在本书中,使用的是上划杠。文字是一个变量或者变量的反码。在微处理器中,算术逻辑单元(ALU)根据程序的指令,对数字数据执行算术和布尔逻辑运算。逻辑运算等价于你所熟悉的门运算,但是每次至少处理8位。布尔逻辑指令的例子为与、或、非和异或,它们被称为助记符。汇编语言程序使用助记符来指定运算。另一个称为汇编器的程序将助记符翻译成可以被微处理器理解的二进制代码。布尔加法 或门就是一个布尔加法器记得在第3章中,布尔加法等价于或运算,其基本法则用或门表示如下: 在布尔代数中,加和项是文字的加和。在逻辑电路中,加和项由或运算所生成,并没有涉及到与运算。加和项的一些例子为和。 当加和项中有一个或者多个文字为1时,加和项就等于1。只有当每个文字都是O时,加和项才等于0。示例4.1确定使得加和项等于0的A、B、C和D的值。解:为了使的加和项为0,该项中的每一个文字都必须是0.所以A=0、B=1(使得=0) 、 C=0以及D=1(使得=0)相关问题:确定使得加和项等于0的A和B的数值。答案在本章的结尾。布尔乘法 与门是一个布尔乘法器同样从第3章中我们知道,布尔乘法等价于与门运算,其基本法则用与门表示如下: 在布尔代数中,乘积项就是文字的乘积。在逻辑电路中,乘积项由与门运算产生,而没有涉及或运算。乘积项的一些例子为AB、ABC、以及。 只有当乘积项中的每一个文字都是1时,乘积项才等于1。当一个或者多个文字为0时,乘积项就等于0。示例4.2确定使得乘积项等于1的A、B、C、D的数值。解:为了使得乘积项等于1,那么该项的每一个文字都必须是1.所以,A=1、B=0(使得=1)、C=1、 以及D=0(使得=1)。相关问题:确定使得乘积项等于1的A和B的值。4 1节复习答案在本章的结尾。1如果A=0,那么等于多少?2确定使得加和项等于O的A、B和C的数值。3确定使得乘积项等于等于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个基本法则,这在操作和简化布尔表达式中非常有用。法则19将会以它们在逻辑门中应用的形式得以介绍。法则1012将会从先前已讨论的简单法则和定律中引申出来。表4.1 布尔代数的基本法则1.A+0=A7.AA=A2.A+1=18.=O3.A0=09 =A4.A1=A10A+ AB=A5.A+A=A11. A +B =A+B6.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:A0=0 一个变量和O进行与运算总是等于O。任何时候与门的一个输 入为0,无论另一个输入上的变量值是多少,输出就是O。这个法则如图4.8 所示,其中第二个输入固定为O。法则4:A1 =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+=1一个变量和它的反码进行或运算总是等于1。如果A为0,那 么0+=0+1=1。如果A为l,那么1+=1+0=1。参见图4.11,其中一个输入是另一个输入的反码。法则7:AA=A 一个变量和它本身进行与运算总是等于变量本身。如果A=0,那么0O=O;如果A=1,那么11=1。图4.12阐释了这个法则。法则8:A =0 一个变量和它的反码进行与运算总是等于0。A或者将总是为O;当0应用于与门的输入时,输出也是O。图4.13阐释了这个法则。法则9: =A 对一个变量进行双重求反总是等于变量本身。如果你开始于变量A, 并对其进行一次求反(反相),你就得到。如果随后你再对进行求反(反相),就会得到A,也就是原始变量。这个法则如图4.14所示,图中使用了反相器。法则10: A+AB=A这个法则可以使用分配律(法则2和法则4)来证明,如下所示: A+AB=A(1+B) 因子分解(分配律) =A1 法则2:(1+B)=1 =A 法则4:A1=A这个证明如表4.2所示,其展示了真值表以及结果逻辑电路简化。表4.2法则10:A十AB=A A B AB A+B 直接连接 0 0 0 0 O 1 0 0 1 O 0 1 1 1 1 1 直接连接 等于 法则11:A+=A+B这个法则证明如下: A+ =(A+AB)+ 法则10:A=A+AB =(AA+AB)+ 法则7:A=AA = AA+AB+A+ 法则8:加A=0 =(A+)(A+B) 因子分解 =1(A+B) 法则6:A+=1 =A+B 法则4:舍去1这个证明如表4.3所示,其展示了真值表和结果逻辑电路简化。表4.3法则11: A+B=A+B A B B A +BA+B 0 0 O 0 O 0 1 1 1 1 1 O 0 1 1 1 1 0 1 1 等于法则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 因子分解(分配律) =A1+AB+BC 法则2:1+C=1 =A(1+B)+BC 因子分解(分配律) =A1+BC 法则2:1+B =1 =A +BC 法则A1=A这个证明如表4.4所示,其展示了真值表和结果逻辑电路简化。表4.4法则12:(A十B)(A+C)=A+BC(T04-04文档) A B CA+B A+C A十B)(A+C) BC A+BC 0 0 0 O O 0 0 0 0 O 1 0 1 0 O 0 O 1 0 1 0 0 O 0 0 1 1 1 1 1 1 1 1 O 0 1 1 1 0 1 1 0 1 1 1 1 0 1 1 1 O 1 1 1 0 1 1 1 1 1 1 1 1 1 等于 4.2节复习1为表达式A+(B+C+D)应用加法的结合律。2为表达式A(B+C+D)应用分配律。4.3狄摩根定理 数学家狄摩根对布尔比较熟悉,他提出的两个定理,成为了布尔代数中的重要一部分。在实际术语中,狄摩根定理提供了与非门和非或门以及或非门和非与门之间等价的数学证明,上述的各种门是在第3章讨论的。 学完本节之后,你应当能够 表述狄摩根定理 将狄摩根定理和与非门和非或门之间的等价以及或非门和非与门之间的等价相 关联 将狄摩根定理应用于布尔表达式的简化 狄摩根的一个定理如下所述: 变量乘积的反码等于变量反码的加和。 另一种表述方式是: 两个或者多个变量进行与运算之后的反码等于单个变量的反码进行或运算的结果。 如果是两个变量,表述这个定理的公式如下所示 (式4.6) 狄摩根第二个定理表述如下: 变量之和的反码等于变量反码的乘积。 另一种表述方式是:两个或两个以上变量进行或运算之后的反码等于单个变量反码进行与运算的结果。如果是两个变量的话,表述这个定理的公式为 (式4.7)图4.15展示了式4.6和式4.7的等价门和真值表。 输入 输出 X Y 0 O 1 1 0 1 1 1 1 0 1 1 1 1 O 0 输入 输出 X Y 0 0 1 1 0 1 O 0 1 0 0 0 1 1 0 O 图4.15 用于阐释狄摩根定理的等价门和相应的真值表。注意每个表中的两个相同的输出列。这展示了等价门执行相同的逻辑运算 正如所表述的那样,狄摩根定理也可应用于多于两个变量的表达式中。下面的示例就阐释了狄摩根定理应用于到3变量和4变量表达式的情况。示例4.3将狄摩根定律应用于表达式和。解:=相关问题:将狄摩根定律应用于表达式。示例4.4将狄摩根定律应用于表达式和。相关问题:将狄摩根定律应用于表达式。狄摩根定理中的每一个变量,如式4.6和4.7所示,也可以表示其他变量的组合。例如,可以等于项,而可以等于项。所以如果你可以将两个变量表示的狄摩根定理(由=所表述)应用于表达式,你就会得到下面的结果: =+ 注意前面的结果具有两个项:和,你可以对上述两项再次分别应用狄摩根定理=,如下所示: +=+ 注意在这个可以应用狄摩根的表达式中具有两个项。这两个项是:和。狄摩根定理的最后一次应用给出了如下的结果: + =(+)+(+) 虽然可以使用布尔法则和定律进一步进行简化,但是已经不能再使用狄摩根定理了。应用狄摩根定理下面的过程阐释了狄摩根定理和布尔代数对于特殊表达式的应用: 步骤l: 识别可以应用狄摩根定理的项,并将每一个项都看作单个变量。让=X以及=步骤2:由于 = , 步骤3:使用法则9(=)消去左边一项上方的双重横杠(这并不是狄摩根定理的部分)。 )步骤4: 为第二项应用狄摩根定理。 )步骤5:使用法则9()消去部分项上方的生成横杠。 下面的三个示例将进一步阐释怎样使用狄摩根定理。示例4.5为下面的每一个表达式都应用狄摩根定理:(a) (b) (c) 解:(a)让 并让 。就具有了=的形式,从而可以写为 (b)让并让表达式就具有了=的形式,因而可以写为 接下来,为每一个项和应用狄摩根定理。 (c)让,以及。表达式就具有了的形式,因而可以写作 接下来,为每一个项、应用狄摩根定理。 相关问题:为表达式应用狄摩根定理。 示例4.6为每一个表达式都应用狄摩根定理:(a) (b) (c) 解:(a) (b) (c) 相关问题:为表达式应用狄摩根定理。 示例4.7 异或门的布尔表达式为。用此作为开始点,使用狄摩根定理以及任何其他可以使用的法则或者定律,推导一个同或门的表达式。 解: 以完成异或门表达式开始,然后应用狄摩根定理,如下所示:接下来,应用分配定律和法则8(A=0)。同或门的最终表达式为+AB。注意这个表达式在任何时候两个变量都为0或者都为1时就等于1。 相关问题:开始于4输入与非门的表达式,使用狄摩根定理来开发一个4输入非或门的表达式。4.3节复习1为下面的每个表达式应用狄摩根定理: (a) (b) (c)4.4逻辑电路的布尔分析 布尔代数提供了一种简洁的方式,用以表示逻辑电路的运算,逻辑电路由逻辑门的组合构成,从而可以确定不同输入组合所对应的输出。 学完本节之后,你应当能够 确定逻辑门组合的布尔表达式 从布尔表达式中计算电路的逻辑运算 构建真值表 逻辑电路的布尔表达式 逻辑电路可以用布尔等式来描述。为了推导出一个给定逻辑电路的布尔表达式,从最左面的输入开始一直到最后的输出,写出每个门的表达式。对于图4.16中的示例电路,布尔表达式的确定如下所示:图4.16 一个逻辑电路,展示了输出的布尔表达式的开发过程1最左面输入C和D的与门的表达式为CD。2最左面与门的输出是或门的一个输入而B是另一个输入。所以,或门的表达式为 B+CD。3或门的输出是最右边与门的一个输入而A是另一个输入。所以,该与门的表达式 为A(B+CD),这就是整个电路最终的表达式。为逻辑电路构建一个真值表 逻辑电路可以用真值表来描述。 一旦给定的逻辑电路的布尔表达式确定下来,就可以开发真值表,用以展示输入变量的所有可能值所对应的输出。这个过程需要你计算输入变量所有可能数值组合的布尔表达式。对于图4.16所示的电路,有4个输入变量(A、B、C和D),所以有16(= 16)个可能的数值组合。 计算表达式 为了计算表达式A(B+CD),首先使用布尔加法和乘法法则,找到使得表达式等于1的变量数值。在这种情况下,只有当A=1以及B+CD=1的时候,表达式才等于1,因为A(B+CD) = 1 1 = 1 现在确定什么时候B+CD项等于1。如果B=1或者CD=1,或者B和CD都等于1时,项B+CD就等于1,因为B+CD = 1 + 0 = 1B+CD = 0 + 1 = 1B+CD = 1 + 1 = 1 只有当C=1和D=1时,项CD就等于1。 总之,当A=1以及B=1而不用管C和D的数值,或者A=1以及C=1以及D=1.而不用管B的数值时,表达式A(B+CD)就等于1。对于变量的所有其他数值组合,表达式A(B+CD)就等于0。 将结果置入真值表格式中第一步是按照二进制序列列出16个输入变量0和1的组合,如表4.5所示。接下来,对于在计算中已经确定的每一个输入变量组合,在对应的输出列中放入1。最后,对于所有其他的输入变量组合,在相应的输出列中放入0。这些结果如表4.5中的真值表所示。表4.5 图4.16中逻辑电路的真值表 输入 输出 输入 输出 A B C D A(B+CD) A B C D A(B+CD) 0 O 0 0 0 1 0 O O 0 O 0 0 1 0 1 0 O 1 0 0 0 1 0 0 1 O 1 0 0 0 0 1 1 0 1 0 1 1 1 0 1 0 0 0 1 1 0 O 1 0 1 0 1 0 1 1 0 1 1 O 1 1 0 0 1 1 1 0 1 0 1 1 1 0 1 1 1 1 14.4节复习1在图4.16中,用与门替换或门并且用或门替换与门,然后确定输出的布尔代数。2为问题l中的电路构建真值表。 4.5用布尔代数进行简化 在布尔代数的应用中,很多时候你不得不将特定的表达式简化为它的最简形式,或者将它的形式改变得更加简易,以最有效地实现该表达式。本节采用的方法就是使用布尔代数的基本定律,法则以及定理来操作并简化表达式。这个方法取决于布尔代数的透彻理解以及大量的应用练习,不需要一点点的天赋与智慧。 学完本节之后,你应当能够 应用布尔代数的定律、法则以及定理来简化一般表达式 简化的布尔表达式使用最可能少的门来实现给定的表达式。下面的四个示例一步步地阐述了布尔简化。 简化意味着用更少的门实现一样的功能。 图4.17展示了示例4.8中的简化过程,它大幅度减少了实现该表达式的逻辑门个数。部分(a)展示了在原始形式下需要5个门来实现该表达式:然而简化的表达式只需要2个门,如部分(b)所示。意识到这两个门电路是等价的,这一点是非常重要的。也就是说,对于AB、C输入的任意电位组合,都会从这两个电路中得到一样的输出。 图4 .17 示例4B的门电路(参考F04-17文档)示例4.8使用布尔代数技术,简化下面的表达式:AB +A(B+C)+B(B+C)解:下面所示的步骤不一定是惟一的方法。步骤1:为表达式中的第二和第三项应用分配定律,如下所示 AB+AB+AC+BB+BC步骤2:为第四项应用法则7(BB=B)。 AB+AB+AC+B+BC步骤3:为前两项应用法则5(AB十AB=AB)。 AB+AC+B+BC步骤4:为后两项应用法则10(B+BC=B) AB+AC+B步骤5:为第一项和第三项应用法则1O(AB+ B=B)。 B+AC 在这一点上,表达式已被尽可能地简化了。一旦你在应用布尔代数中取得了经验,你就可以经常合并许多独立的步骤。相关问题:简化布尔表达式示例4 9简化下面的布尔表达式:注意方括号和圆括号表示一样的意思:里面的项被乘以(与)外面的项。解:步骤1:为中括号里面的项应用分配律。 步骤2:为圆括号里面的第二项应用法则8 步骤3:为圆括号里面的第二项应用法则3。 步骤4:在圆括号内部应用法则1(舍去0)。 步骤5:应用分配律。 步骤6:为第一项应用法则7(CC=C)。 步骤7:分解出。 步骤8:应用法则6。 步骤9:应用法则4(舍去1)。 相关问题:简化布尔表达式 示例4.10简化下面的布尔表达式:解:步骤1:从第一项和最后一项中分解出BC。步骤2:为圆括号中的项应用法则并且从第二项和最后一项中分解出步骤3:为第一项应用法则4(舍去1)。 步骤4:为第二项应用法则4(舍去1)。步骤5:从第二和第三项中分解出步骤6:为圆括号中的项应用法则步骤7:使用分配和交换定律得到下面的表达式:示例4.11简化下面的布尔表达式:解:步骤1:为第一项应用狄摩根定理。步骤2:为圆括号中的每一项都应用狄摩根定理。步骤3:为圆括号中的两项应用分配律。步骤4:为第一项应用法则,然后为第三项和最后一项应用法则10 步骤5:为第一项和第二项应用法则步骤6:为第一项和第二项应用法则相关问题:简化布尔表达式。4.5节复习1尽可能简化下面的表达式: 2使用合适的逻辑门实现问题1中每一个原始的表达式。然后实现简化后的表达式, 并比较门的个数。4.6 布尔表达式的标准形式所有的布尔表达式,不管它们的形式如何,都可以变换为两种标准形式之一:乘积的加和形式或者加和的乘积形式。标准化使得计算、简化、以及布尔表达式的实现都变得更加系统、更加简单。 学完本节之后,你应当能够 识别加和的乘积表达式 确定布尔表达式的域 变换乘积的加和表达式为标准形式 以二进制数值计算标准乘积的加和表达式 识别加和的乘积表达式 变换加和的乘积表达式为标准形式 以二进制数值计算标准加和的乘积表达式 变换一种标准形式为另一种标准形式乘积的加和(SOP)形式 SOP表达式可以由一个或门以及两个或者更多与门实现。 在4.1节中,我们将乘积项定义为由文字(变量或者它们的反码)的乘积(布尔乘法)组成的项。当两个或者更多个乘积项利用布尔加法加起来时,结果表达式就是乘积的加和(SOP)。一些例子是 当然,SOP表达式可以包含单变量项,比如。参见上一节中的简化示例,就会发现每一个最终表达式都是一个单乘积项或者是SOP形式。在SOP表达式中,单个上划扛不能扩展到多于一个的变量;但是,一个项中的多个变量可以拥有一个上划杠。例如,SOP表达式中可以具有项,而不是。 布尔表达式的域 一般布尔表达式的域是该表达式中所包含的变量集合,可以是反码形式也可以是非反码形式。例如,表达式的域就是变量A、B、C的集合,而表 达式的域就是变量A、B、C、D、的集合。 SOP表达式的实现 实现SOP表达式仅仅需要将两个或者更多与门的输出进行或运算 就可以了。乘积项由与运算产生,两个或者多个乘积项的加和(加法)由一个或运算来生成。所以, SOP表达式可以由与-或逻辑来实现,其中与门(个数等于表达式中乘积项的个数)的输出连接到一个或门的输入上,所图4.18所展示的AB+BCD+AC表达式。或门的输出X就等于该SOP表达式。图4.18 SOP表达式AB十BCD+AC的实现 一般表达式向SOP形式的变换 应用布尔代数技术,任何逻辑表达式都可以变换为SOP形式。例如,表达式A(B+CD)就可以使用分配定律而变换为SOP形式: A(B+CD)=AB+ACD示例4.12将下面的每一个布尔表达式变换为SOP形式:(a) (b) (C)解:相关问题:将变换为SOP形式。标准SOP形式 到目前为止,你已经看到了SOP表达式,其中有一些乘积项并没有包含表达式域中的所有变量。例如,表达式的域由变量A、B、C和D组成。但是,注意在表达式的前两项中并没有出现域的完整变量集合;也就是说,第一项漏掉了D或者,第二项漏掉了C或者。 标准SOP表达式的每一个乘积项都包含该表达式域的所有变量。例如,就是一个标准SOP表达式。标准SOP表达式在构建真值表(在4.7节中介绍)中是非常重要的,并且在卡诺图简化方法(在4.8节介绍)中也是非常重要的。使用布尔代数,任何非标准的SOP表达式(简单表示为SOP)都可以变换为标准形式。 变换乘积项为标准SOP SOP表达式中没有包含域的所有变量的每一个乘积项,都可以扩展到标准形式从而包含域中的所有变量以及它们的反码。正如下面的步骤所表述的一样,使用表4.1中的布尔代数法则6():变量加上它的反码等于1,可以将非标准SOP表达式变换为标准形式。 步骤1: 用遗漏的变量和它们反码的加和构成的项,乘以每一个非标准乘积项。结果 是两个乘积项。正如你所知道的那样,你可以用1乘以任何数而不会改变它 的数值。 步骤2: 重复步骤1直至所有的结果乘积项都包含域的所有变量,可以是反码或者非 反码形式。在将乘积项变换成为标准形式的过程中,对于每一个遗漏的变量, 乘积项的个数都会倍增,如示例4.13所示。示例4.13将下面的布尔表达式变换为标准SOP形式: 解:SOP表达式的域是A、B、C、D。每次取一个项。第一个项ABC遗漏了变量D或者D,所以用乘以第一个项,如下所示:在这个情况下,结果就是两个标准乘积项。第二个项遗漏了或者以及或者,所以首先用乘以第二个项,如下所示:这两个结果项遗漏了变量或者,所以用乘以这两个项,如下所示: 第三项已经是标准形式了。原始表达式的完整标准SOP形式为:相关问题:将表达式变换为标准SOP形式。标准乘积项的二进制表示法只有一个变量数值组合,可以使得标准乘积项等于1。例如,当A=1、B=O、C=1、D=O时,乘积项就等于1,如下所示,对于其他的变量数值组合都等于O。 在这种情况下,乘积项的二进制数值为1010(十进制10)。记住,乘积是由与门来实现的,只有每一个输入都是1时,输出才是1。反相器用以产生所需的变量反码。只有当表达式中的一个或者多个乘积项等于1时,SOP表达式才等于1。示例4.14确定每个字母的二进制数使得下面的标准SOP表达式等于1:解:当A=1、B=1、C=1、D=1时,项ABCD就等于1。 ABCD=1111=1当A=1、B=0、C=0、D=1时,项就等于1。 =11=1111=1当A=0、B=0、C=0、D=0时,项就等于1。 =1111=1当三个乘积项中的任何一个或者全部都等于1时,该SOP表达式就等于1。相关问题:确定二进制数,使得下面的SOP表达式等于1:这是一个标准SOP表达式吗?POS形式在4.1节中,我们将加和项定义为由文字(变量或者它们的反码)的加和(布尔加法)组成的项。当两个或者更多的加和项相乘时,结果表达式就是加和的乘积(POS)。一些示例如下: (+)(+) (+)(+)(+) ()(+)( POS表达式可以包含单变量项,如。在POS表达式中,虽然一项中不止一个变量可以具有上划杠,但单个上划杠不能扩展到多个变量。例如,POS表达式可以具有项而不是。 POS表达式的实现 实现POS表达式仅仅需要将两个或者多个或门的输出进行运算。加和项由或运算产生,而两个或者更多加和项的乘积由与运算产生。所以,POS表达式可以由合适的逻辑实现,其中或门(个数等于表达式中加和项的个数)的输出连接到与门的输入上,如图4.19所展示的表达式。与门输出X就等于POS表达式。图4.19 实现POS表达式标准POS形式到目前为止,你已经看到了POS表达式,其中有些加和项并没有包含表达式域中的所有变量。例如,表达式: 它的域由变量A、B、C、D组成。注意在该表达式的前两项并没有出现域的完整变量集合;也就是说,第一项遗漏了D或者,第二项遗漏了C或者。 标准POS表达式中每一个加和项都包含域中的所有变量。例如,表达式 就是一个标准POS表达式。使用布尔代数,任何非标准POS表达式(可以简称为POS)都可以变换为标准形式。 将加和项变换为标准POS 在POS表达式中没有包含域中所有变量的每一个加和项,都可以扩展到标准形式,以包括域中的所有变量以及它们的反码。正如在下面的步骤中所表述的那样,可以使用表4.1中的布尔代数法则8(=0):一个变量乘以它的反码等于O,将非标准POS表达式变换为标准形式。 步骤1: 为每一个非标准乘积项加上一个由遗漏的变量和它的补码的乘积构成的项。 结果就是两个加和项。正如你所知道的那样,在任意数上加O都不会改变这 个数的数值。 步骤2: 应用表4.1中的法则12: 步骤3: 重复步骤l直至所有的结果加和项都包含域中的所有变量,可以是非反码形 式也可以是反码形式。示例4.15将下面的布尔表达式变换为标准POS形式: 解:该POS表达式的域是A、B,C、D。每次取一个项。第一项,遗漏了D或者,所以加上并应用法则12,如下所示:第二项遗漏了变量或者,所以加上并且应用法则12如下所示:第三项已经处于标准形式。原始表达式的标准形式如下所示:=相关问题:将表达式变换为标准POS形式。 标准加和项的二进制表示法 只有一个变量数值组合可以满足加和项等于O。例如,当A=O、B=l、C=O以及D=1时,加和项等于0,如下所示,对于其他的变量数据组合,该表达式都等于1。 在这种情况下,加和项就拥有二进制数值0101(十进制值5)。记住,加和项由或门实现,只有当这个或门的每一个输入都是O时,它的输出才是0。反相器被用来产生所需变量的反码。 只有当表达式中的一个或者多个加和项等于O时,POS表达式才等于O。 示例4.16 确定变量的二进制数值,使得下面的标准POS表达式等于0:解:当时,项等于0。当时,项等于0。当时,项等于0。 当三个加和项中的任何一项等于0时,该POS表达式就等于0。相关问题:确定变量的二进制数值,使得下面的POS表达式等于0:这是个标准POS表达式吗?将标准SOP变换为标准POS 给定的标准SOP表达式中乘积项的二进制数值,并不会出现在相应的标准POS表达式中。同样地,SOP表达式中没有出现的二进制数值却出现在了对应的POS表达式中。所以,为了将标准SOP变换为标准POS,可以采取下面的步骤: 步骤1: 计算SOP表达式中的每一个乘积项。也就是说,确定表示乘积项的二进 制数。 步骤2: 确定步骤1中的计算没有包含的所有二进制数。 步骤3: 为从步骤2得到的每一个二进制数写出相应的加和项,并以POS形式表示。 使用相似的过程,你就可以将POS变换为SOP。示例4.17将下面的SOP表达式变换为等价的POS表达式:解:计算如下所示: 000+010+ 011+ 101+ 11l由于该表达式的域有三个变量,所有总共有8()个可能的组合。SOP表达式包含这些组合中的5个,所以POS必须包含其余的三个,它们是001、100和110。记住,这些二进制数使得加和项等于O。等价的POS表达式为相关问题:通过在每个表达式中代入二进制数值,来验证这个示例中的SOP和POS是等价的。4.6节复习1识别下面的每一个表达式为SOP、标准SOP、POS或者标准POS:(a) (b)(c) (d) 2将问题1中的每一个SOP表达式都变换为标准形式。3将问题1中的每一个POS表达式都变换为标准形式。4.7 布尔表达式和真值表 为表达式中的每一项都使用二进制数值,那么所有的标准布尔表达式都可以容易地变换为真值表格式。真值表是以简明格式表示电路逻辑运算的常用方法。当然,标准SOP或者POS表达式可以从真值表中确定。你会在数据表以及和数字电路有关的其他文字中发现真值表。 学完本节之后,你应当能够 将标准SOP表达式变换为真值表格式 准POS表达式变换为真值表格式 真值表中导出标准表达式 正确解释真值表数据 将SOP变换为真值表格式 记得在4.6节中,只有在至少有一个乘积项等于1时,SOP表达式才等于1。真值表只是简单地列出了输入变量数值的可能组合以及相应的输出数值(1或者0)。对于具有2变量域的表达式,这两个变量有4 ( =4)种不同的组合。对于具有3变量域的表达式,这些变量具有8(=8)个不同的组合。对于具有4变量域的表达式,这些变量具有16(= 16)个不同的组合,依此类推。构建真值表的第一步,是列出表达式中变量的所有可能的二进制数值结合。接下来,如果这个SOP表达式非标准的话,将该表达式变换为标准形式。最后,在每个使得标准SOP表达式等于1的二进制数相对应的输出列(X)上放置一个1,为所有剩余的二进制数值对应的输出列上放置0。这个过程如示例4.18所示。示例4.18 为SOP表达式开发一个真值表。 解: 在这个域中有3个变量,所以有8个可能的变量二进制数值组合,它们列在了表4.6的左三列。使得表达式等于1的二进制数值是:001; :100;以及:111。为每一个二进制数值,都在输出列置入一个1,如表中所示。为剩余的二进制数值组合,在输出列上置入0。表4.6 输入输出 乘积项 A B C X 0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论