布尔代数和逻辑门

下载
第2章布尔代数和逻辑门
数字运算是由二进制数制系统完成的,而在二进制系统中变量X的值只能为0或1。本章将
采用1 9世纪英国数学家乔治·布尔发展起来的开关代数来研究二进制数的行为。此数学分支
包含在布尔代数的理论中,它是现代逻辑设计的基础。
2.1 数据表示及处理
二进制数制系统中,信息(或数据)完全由二进制数字( b i t)0和1来表示。数字系统根本目
的是处理信息。这些简单的论述使我们注意到,在我们开始研究数字系统之前,有两个基本
的问题需要解决。我们怎样仅用0和1来表示数据以及我们如何对数据进行运算(或处理)以实现
有用的系统。
首先考虑数据表示问题。二进制系统中,数据完全是只由二进制数字( b i t ) 0和1来表示的。
对于二进制变量x,根据定义,x 假设值只可能是0或1。所以一位二进制变量x 在描述只有两
种可能发生的情况时是很有用的。例如,在传统的逻辑中,象x 这样的数经常用于表示状态的
真或假。
实际的情况要复杂得多。为了表示多于两种可能值的数据,我们可由一组按一定顺序排
列的二进制位构造出一个二进制字,并为其每一种可能的组合定义一个含义。例如,如果a3、
a2、a1、a0为独立的二进制位,我们就可以构造一个4 - b i t的二进制字d a t a,写作
d a t a= a3 a2 a1 a0 ( 2 - 1 )
由于每位的值可以是0或1,故d a t a有24= 1 6种可能的组合。在本文中,用于构成二进制字
d a t a的独立的位ai可看成与某一特定的数据类型相联系。
在b i t层次,数据处理的问题会有很大的不同。在此情况下,二进制变量是作为单元的输
入,而单元进行特定的数学运算,并产生一个输出0或1。图2 . 1表示了该数据处理问题。图中
输入变量是A, B和C,而每位变量可能的值为0或1。输出为函数f (A, B, C),输出本身不是一个
独立的二进制变量,允许值只能为0或1。
二进制函数的概念很容易理解。f 的值由三个输入A, B, C的值来决定。对于给定的输入, f
提供一个规则以产生输出f = 0或f = 1。由于二进制函数的属性是输入和输出的值只能为0和1,
所以二进制变量的代数与“通常的”数字范围从0到9的代数有很大的区别。
二进制函数的定义有多种方法。真值表为完成这项任务提供了一个简单的方法。真值表
只是简单地列出所有可能的输入二进制位的组合以及每种可能输入组合对应的输出。对于n位
输入变量,共有2n可能的组合,故真值表将有2n项。三个变量A, B, C的真值表如图2 - 2所示。
由于23= 8,所以共有8项输入。输出函数f 的值位于真值表的右列。目前不要考虑函数的准确
含义,现在我们仅仅讨论真值表的形式。
图2-1 二进制函数的通用概念图2-2 真值表
2.2 基本逻辑运算
布尔代数的基础是一整套定义了基本函数的逻辑运算。这些函数是由通过一个或多个输
入变量并产生一位输出来实现的。本节讲述的运算是所有数字逻辑的基础。如果你肯花时间
将这些基础完全掌握,那么将非常自然地掌握数字逻辑所有领域。即使是最高级的设计者也
离不开这些基础。
2.2.1 非运算
考虑二进制变量A,N O T运算将A转换成输出为N O T (A),它的作用如下:
如果A= 0,那么N O T (A) = 1;
如果A= 1,那么N O T (A) = 0。
N O T运算的功能就是将变量的值从0变到1或从1变到0
N O T 运算的真值表如图2 - 3所示。对于输入A,我们通常将
N O T (A)简单地标识为
-A
或A '。注意,对于一位输入变量,共有21= 2
种可能的输入组合(A= 0或A= 1 )。根据此论述,我们也可将
-A
称为A的
补码。
二进制运算的另一种表示方法是用代数形式的符号方式来书写。
例如,我们把N O T函数写成f (A),其中A为输入,那么
f (A) = -A ( 2 - 2 )
就将f 定义为N O T运算。通过验证,此式提供的信息与真值表相同。
代数函数和表格列示在处理数字系统的理论方面是很有用的。但是,当我们想用门单元
来设计逻辑网络时,采用称为逻辑图的图形描述更为方便。逻辑图中我们用各种类型的图形
符号来表示逻辑功能。使用这种方式描述数字系统可同时表示出用于构成系统的逻辑模块以
及各单元间的互连关系。
N O T函数的图形符号如图2 - 4 a )所示; N O T函数也称为反相器,其运算称为取反。根据
该符号的定义,输入变量为A时输出为
-A
。在电子学中三角形十分常见,它表示的是称为缓冲
器的逻辑门;作为选择,你也可使用将在第2 . 9节中描述的更为通用的符号。通常在逻辑上缓
第2章布尔代数和逻辑门23
下载
输入输出
图2-3 NOT的真值表
输入输出
术语反相器的采用是因为当输入为0时它的输出为1,反过来也成立。
冲器的输出与输入是相同的,如图2 - 4 b )所示:如果输入为A,那么其输出也为A。虽然缓冲器
不改变逻辑状态,但它可用于表示某些类型电子网络中需要的附加的电“驱动能力”。无论
何时,只要用逻辑图表示N O T运算,我们都将采用图中所示的“气泡”标识。气泡可以出现
在逻辑门的输入或输出,这种简化的标识将会经常使用到。
图2-4 反相器和缓冲器符号
Not符号
2.2.2 或门
现在我们来考虑带有两个独立输入位的情形。我们将这两个输入称为A和B。由于两位中
的每一位的值均可假设为0或1,所以共产生22= 4种可能的输入组合。这些组合为A B=00, 01,
10, 11 。
我们讲述的第一个2 -输入逻辑门实现的运算为O R运算,由于它有两个输入,所以在我们
的讨论中,这种特别情况被称之为O R 2门。当输入为A和B时,O R运算描述如下:
如果A=1 或B=1, 或A=1 且B= 1,
那么
A OR B= 1
否则
A OR B= 0
逻辑O R运算需要2个或更多的输入
这可重新表述为如果输入值有一个为1,那么A OR B= 1。因为函数的值只能是0或1,所以
它暗示着如果A= 0且B= 0,那么A OR B= 0。我们通常采用符号“+”来标识O R运算:
A OR B =A+B (2-3)
若可以排除将二进制运算与标准加法运算相混淆的可能性,上式标识方法将十分常用。
O R函数的真值表如图2 - 5所示。注意到四个输入组合中的每一个都是以不同的列式行来描述
的。用于描述O R运算的另一个符号为:
A OR B =A∨B ( 2 - 4 )
但在讨论中我们将不使用此符号。
描述O R函数常用的图形符号如图2 - 6所示,图中输入A和B在符号的左边,输出A OR B在右
边,其输出值如真值表所示。注意到O R“逻辑门”的特别的形式可使我们快速地识别其运算。
图2-5 OR的真值表图2-6 OR2逻辑门符号2个输入的O R门
24 数字系统设计基础教程
下载
a) 反相器符号b) 缓冲器符号
本章我们将学习如何用特殊的代数类型来处理二进制变量的方法。作为第一个例子,我
们可以构造一个4 -输入的或运算,写作:
f=A+B+C+D ( 2 - 5 )
O R 4逻辑门的符号如图2 - 7所示。
此函数可定义为:
如果有一个或多个输入为1,
那么
f= 1
否则
f= 0
作为选择,我们也可写成:
如果并且只有所有输入为0时,f= 0
该描述也可得到相同的结果。虽然理论上输入的数目没有限制,实际的电子逻辑门很少
使用多于3个或4个输入的情形。
2.2.3 与门
下一个讲解的基本运算称为A N D (与)运算。该运算检测所有的输入是否都为1,若输入全
为1则输出为1。对于两个输入A和B,我们将A N D 2(2 -输入与门)定义为:
如果A= 1及B= 1同时成立,
那么
A AND B= 1
否则
A AND B= 0
作为选择,我们也可以说成
如果A= 0或B= 0,
那么
A AND B= 0
否则
A AND B= 1。
这种情形的真值表如图2 - 8所示,其中我们采用的与门标识为:
A AND B=A·B ( 2 - 6 )
其他常用的A N D标识为:
A AND B = A B
= A∧B
( 2 - 7 )
本书采用最多的与运算标识是A·B及A B,A N D运算的特殊形状的逻辑门符号如图2 - 9所
示。
与运算可扩展到多于2个输入的情况。例如,输入为A , B , C , D的4-输入与门( A N D 4 )可写
作:
g = A·B·C·D ( 2 - 8 )
第2章布尔代数和逻辑门25
下载
图2-7 OR4逻辑门符号
O R运算比较2个或更多输入的值
它用图2 - 1 0所示的符号来表示。根据定义只有当所有的输入均为1时,才可输出逻辑1;
否则输出为逻辑0。虽然理论上与门可以有任意数目的输入,实际使用的与门很少有多于3个
或4个输入的情形。
图2-8 AND2真值表图2-9 AND2逻辑门符号图2-10 AND4逻辑门符号
2个输入的AND门符号
2.3 基本恒等式
布尔代数描述的是二进制变量的行为,而二进制变量的行为从属于多个N O T,O R和A N D
运算。记住一些基本恒等式非常有用,因为它们有助于对复杂的逻辑表达式进行简化。
2.3.1 非恒等式
对一个二进制变量进行二次N O T运算就是一个基本恒等式,其形式为
( 2 - 9 )
这也称为反演律,它可等效地写成
NOT [ NOT(A) ] = A ( 2 - 1 0 )
这样表示是因为N O T (A) =-A ,N O T (-A ) =A。这个结果是显而易见的,其中A的值为0或1。
虽然这在理论上初看没有什么价值,但要记住它在处理复合布尔等式时是很有用的。
2.3.2 或恒等式
O R函数在任何一个输入为1时,其输出为1,由此可导出几个有用的恒等式。采用图2 - 5所
示真值表,我们可以得到:
A+ 1 = 1
A+ 0 =A
( 2 - 11 )
第一个表达式说明将1与任何数相或,其输出为1。根据定义的内涵就是:有一个输入为1
其输出就为1。另一方面,第二等式表示在或门的输入加0不会使与门输出某一特定的值;或
者说成,A的值决定了输出结果。
或门的行为可进一步由幂等率来理解
A+A=A ( 2 - 1 2 )
上式表示一个变量与其自身相或的结果是同一变量。这可通过下面两种情况来验证
0 + 0 = 0
1 + 1 = 1
( 2 - 1 3 )
类似地,我们可写作
A + -A = 1 ( 2 - 1 4 )
(A) = A
26 数字系统设计基础教程
下载
上式称为互补性,它是以1+0 = 1总成立这一事实为根据。
2.2.3 与恒等式
与函数( A N D )有一套类似的恒等式,所有恒等式都以与门的特征为基础:与门的输入有
一个为零时,其输出必为零。
首先考虑将一个变量与常数0和1相与的情形。采用图2 - 8所示的真值表,我们容易证明:
A·0 = 0
( 2 - 1 5 )
A·1 = A
上式描述了变量A的行为。幂等率变成
A·A = A ( 2 - 1 6 )
而互补性现在为:

-A
= 0 ( 2 - 1 7 )
像那些与N O T以及O R运算相关的恒等式一样, A N D恒等式也非常有用,故应该牢记。
值得注意的是本节所讲述的恒等式只是一个与真值表提供相同信息的通用化的表达式。但
是,将它们写成等式形式可为代数打下基础,而功能强大的代数是设计数字开关网络的工具。
2.4 代数定律
我们关心的下一组运算是与顺序和优先级相关的运算。这些运算可归类为交换、结合及
分配这三种主要类型。根据与函数和或函数的定义,采用真值表列示中的专门例子,对这些
定律进行证明。
2.4.1 交换律
交换律允许我们以任何顺序安排变量而不改变其结果,对于两个变量A和B,可以给出
A+B = B+A
( 2 - 1 8 )
A·B = B·A
并且扩展到多个变量也是成立的,例如,
X + Y + Z = Y + Z + X ( 2 - 1 9 )
以及
X·Y·Z = Y ·X·Z = X·Z·Y ( 2 - 2 0 )
均可以从原始的叙述中得到。
2.4.2 结合律
结合律定义了进行运算的顺序。在或运算和与运算中,运算的分组都不会影响其结果。
对于或运算,结合律的恒等式为:
A+B+C = (A + B)+ C
= A+(B + C)
( 2 - 2 1 )
对于与运算表达式,结合率的恒等式为
A·B·C = (A·B)·C
( 2 - 2 2 )
= A·(B·C)
第2章布尔代数和逻辑门27
下载
由于结合律适用于或运算和与运算,我们写逻辑表达式时通常省略括号。
现在假设一个表达式中同时包含与运算和或运算。需要回答的问题是“哪个运算具有优
先权?”。答案很简单。在同一表达式中,若没有用括号来分组,那么与运算的优先权高于或
运算。例如,函数
F = A·(B + C) ( 2 - 2 3 )
的计算顺序是首先求出或运算的结果
X = (B+C) ( 2 - 2 4 )
然后将X与A相与得到
F = A·X ( 2 - 2 5 )
另一方面,表达式
G = A·B + C ( 2 - 2 6 )
的含义是与运算必须首先求出
Y = A·B ( 2 - 2 7 )
所以
G = Y + C ( 2 - 2 8 )
就是最终的结果。这两个例子说明了逻辑方程中采用适当的分组的重要性。
2.4.3 分配律
与运算和或运算的分配由下列定律来决定。值得牢记的是运算的优先级规则,即在一个
分组中与运算优先于或运算。
两个重要的分配律表示为:
A·(B+C) = A·B+A·C
( 2 . 2 9 )
A+ (B·C) = (A+B)·(A+C)
第一个等式描述与运算如何在两个相或的变量间进行分配;它与一般代数所用的乘法和
加法的分配律相同。根据分配理论,图2 - 11所示的两个逻辑门的逻辑图具有相同的输出f。这
些逻辑图通过将一个逻辑门的输出作为下一个门的输入来产生。这种类型的连接方案称为逻
辑级联,它构成所有数字逻辑系统设计的基础。为了理解这类逻辑图的概念,只需简单从输
入到输出跟踪每个逻辑门的变量的路径。
图2-11 等效的逻辑级联
等式( 2 - 2 9 )的第二行所示的两个相与的变量之间的或运算的分配值得我们进一步研究。恒
等式两边的逻辑图表示在图2 - 1 2中,其中逻辑门的输出标为g。与图2 - 11相比较,我们看到逻
辑的结构是相似的,例如,逻辑门的位置及连接关系是相同的。等式( 2 - 2 9 )的第一行与第二行
的差别在于与门和或门相互交换了。这两者称为互为对偶。为了推广此概念,我们注意到如
果从逻辑函数k入手,那么k的对偶,我们称之为K,可通过相互交换与和或运算来得到。例如,
28 数字系统设计基础教程
下载
第2章布尔代数和逻辑门29
下载
如果有
k = A·B + C ( 2 - 3 0 )
那么其对偶函数为:
K = A+B·C ( 2 - 3 1 )
对偶在复杂逻辑方程的简化中通常十分有用。
图2-12 分配律的例子
2.5 或非门和与非门
到目前为止,我们已经讨论了非、或和与的基本运算。理论上,我们可用这三个逻辑门
构造出任何逻辑函数。但是当我们试图用电子器件来构造数字网络时,我们将发现它们并不
是最容易处理的逻辑门分组。大部分方法都可用于构造简单的反相器,但是或门和与门并不
是制造简单电路必需的逻辑门。基于这点考虑,我们通过对基本逻辑门进行组合来定义两个
更为“基本”的逻辑门电路。
首先考虑的是一个带有输入A和B的N O R 2逻辑门。“N O R”是N O T- O R的简写,它的含义
为逻辑门的输出为O R门的补码。对于输入A和B,N O R运算可表示为,它由图2 - 1 3所示
的真值表来定义。它与下面的叙述是等效的。
如果输入中有一个为1,那么
= 0
否则
= 1
由于或非门经常用到,所以它有自己专用的符号。通过简化图2 - 1 4 a )所示的N O T- O R逻辑
级联,我们得到图2 - 1 4 b )所示的形式。它用或门输出端的气泡来代替反相器。
图2-13 NOR2真值表图2-14 NOR函数符号的产生或非运算有其专门的符号
与非门用相似的方法来产生。对于输入A和B,与非门的运算用来表示。逻辑上,与
非门等效于在与门后紧跟一个非门,这可由图2 - 1 8所示真值表来验证。其真值表说明除非所
有输入都为1,否则输出为1。
叙述其行为的一种方法可写作
A × B
A + B
A + B
A + B
a) NOT- O R级联b) NOR 门符号
如果输入中有一个为0,
那么
= 1
否则
= 0
与非门符号的演变如图2 - 1 6 a )和b )所示,我们再次看到一个将一个气泡加入路径中来表示
N O T运算的例子。
图2-15 NAND2真值表图2-16 NAND2逻辑门
为了简化,NAND运算也具有其专用的符号
狄摩根定理
狄摩根定理为或非运算和与非运算之间相互关联提供了另一种表达方式。它们在实际逻
辑设计问题上十分有用,同时它们也是逻辑设计者所采用的整套基本技术的一个组成部分。
首先让我们考虑带有输入A和B的N O R 2门。我们将学习的第一个狄摩根定理可将N O R运
算表示为:
= ( 2 . 3 2 )
换句话说,或非运算等于输入的补码相与。这可以通过直接比较表达式与的
真值表来证明。我们将它留下来作为一个值得尝试的练习。这种狄摩根关系式可扩展到任意数
目变量的情形。例如,将此定理应用于输入为A,B和C的N O R 3逻辑门,我们可得到关系式:
= ( 2 . 3 3 )
而且该关系式可继续加以扩展。
用逻辑图将定理以图形方式可视化通常是很有用的。图2 - 1 7表示的是N O R 3的狄摩根的等效。
图2 - 1 7 a )表示的是标准的N O R逻辑门符号,而图2 - 1 7 b )表示一个用三个反相器( N O T)和一个
A N D门组成的等效网络。跟踪逻辑流程方向表明N O R运算可由补码后面紧跟A N D运算来形成。
图2-17 狄摩根等效
狄摩根关系经常使用,所以引入表示它们的简化符号会比较方便。回忆起逻辑图中“气
A× (A + B+ C) B ×C
(A× B) A× B
(A× B) A× B
A× B
A× B
30 数字系统设计基础教程
下载
a) AND-NOT级联b) 逻辑门符号
a) NOR3逻辑门b) 狄摩根等效网络
泡”表示取反,可以得到图2 - 1 8所示的狄摩根简化。
图2-18 狄摩根或非等效网络
现在假设我们有一个输入为A和B的N A N D 2逻辑门。第二个狄摩根定理写成
= ( 2 - 3 4 )
在此情形下, N O R运算等效于将输入补码相或的结果。此结果可通过比较输入A和B每一
种组合情况下与的值来证明。
对于输入为A,B和C的N A N D 3逻辑门,狄摩根定理读作:
= ( 2 - 3 5 )
并且此定理可扩展到输入为任意数目的情形。图2 - 1 9所示逻辑图以图形方式表示了此恒
等式。根据狄摩根定理,图2 - 1 9 a )和b )是相同的,而图2 - 1 9 c )为简化的等效逻辑门运算。若首
先学会了狄摩根规则的用法,那么这种类型的简化通常很容易牢记。
图2-19 一个带有3个变量的狄摩根例子
注意,当输入变量已经取补后,我们仍可进行简化。例如
( 2 - 3 6 )
其中我们采用了公式
( 2 - 3 7 )
2.6 有用的布尔恒等式
为了完成对基本二进制关系式的讨论,我们注意到用上述讨论的关系式,我们可得到几
个有用的布尔恒等式。
我们将学习的第一个布尔恒等式集合为:
A + A·B = A
( 2 - 3 8 )
A +-A·B = A + B
第一个恒等式称为冗余,它表示B的值不会影响结果。第二个恒等式在进行代数运算时同
样十分重要。
(x) = y
(x+ y + z ) = x + y + z
A × (A + B + C) B ×C
(A × B) A × B
(A × B) A × B
第2章布尔代数和逻辑门31
下载
a) NOR3 逻辑门b) 等效的逻辑门运算
a) NAND3逻辑门b) 狄摩根等效网络
c) 等效逻辑门运算
逻辑简化可用多种方法来证明,从构造真值表到采用定理的纯代数方法都是有效的证明方
法。其中代数方法的应用更受欢迎。但是,采用真值表方法对于
理解真值表方法如何用于证明这些关系式是很有用的。图2 - 2 0表示
的是建立的真值表。对于两个输入A和B,这一对变量共有22= 4种
不同的输入组合。对于每种可能的组合,我们求出A·B的值,然
后计算A + A·B的值。将该结果与输入值相比较,说明函数的值总
是等于A的值,而与B的值无关,这样就证明了上式恒等式成立。
证明恒等式关系的另一种方法是使用某个变量的替代值。在
B= 0和B= 1两种情况下,考虑表达式
A+A·B ( 2 - 3 9 )
若B= 0,那么A·B= 0,因为任何数与0相与结果为0。那么剩下的结果
A+ 0 =A ( 2 - 4 0 )
正是我们所希望的结果。若B= 1,那么A·B=A,表达式简化为
A+A·B=A + A = A ( 2 - 4 1 )
再次证明了恒等式的有效性。
证明恒等式的最好方式是使用布尔恒等式,以下步骤说明了第一个关系式的结果。
A+A·B = A·(1+ B )
=A·1 ( 2 - 4 2 )
= A
第一行中在两项中对因子A使用了分布律。注意得到( 1+B) = 1可得到第二行,最后使用恒
等式A·1 =A完成证明。
2.7 代数简化
现在我们开始研究布尔代数如何用于数字开关系统的设计。
组合逻辑设计中一个通常遇到的问题是如何将逻辑表达式尽可能地简化到最简单的形
式;“最简单”通常指的是我们希望用最少数目的逻辑门来实现其功能。简化是采用基本恒
等式通过一步一步的方式来实现的。逻辑简化所采用的基本法则归纳在图2 - 2 1中,这些基本
32 数字系统设计基础教程
下载
图2-20 A+A·B输出总
等于A的值
图2-21 布尔关系式总结
OR恒等式AND恒等式
法则可以帮助你完成简化任务,直到你将它们牢记为止。
逻辑表达式的化简方法十分容易:只要采用适合的恒等式并简化之!但是证明该观点的
最容易的方法就是举例说明。
例2 - 1
简化等式
f = A·B + A·
-
B (2 - 4 3)
首先使用分配律对B -项进行分组,得到
f = A·(B +
-
B ) (2 - 4 4)
然后,由于括号中的表达式的值总为1,我们得到
f = A·1 = A (2 - 4 5)
即为最简单的形式。注意原来的表达式包含两个与函数,一个或运算,和一个非运算,
而简化后的代数表示整个等式可只用一个A来代替。
例2 - 2
函数
F = A·B·C + B·C (2 - 4 6)
需要一个A N D 3门,一个A N D 2门, 一个O R 2门。但是,如果我们将因子B·C归为一组,
那么我们可以将其写作
F = A·( B·C) + (B·C )
= [A +1](B·C ) (2 - 4 7)
= B·C
其中我们注意到紧跟的第二行的A是冗余的。通过简化,我们看到F可以用一个A N D运算
表示。
例2 - 3
假定给定函数为
对其中的N O R运算应用狄摩根法则可以得到
应用其它狄摩根关系式上式可重新写为
由于恒等式X·
-X = 0同时应用于变量a和b,所以g= 0。它的含义是g总为零,与任何变量无
关;也就是说,g为常数。
例2 - 4
考虑函数
h = (A + B + C)·(A + B) (2 - 5 1)
按照所写的表达式,该函数需要使用一个O R 2门,一个O R 3门, 一个A N D 2门。为了看其
是否已经简化,首先我们用分配律对此式进行扩展,写作
由于X·X = X和Y +Y = Y,我们可移去多余项,得到
第2章布尔代数和逻辑门33
下载
(2 - 4 8)
(2 - 4 9)
(2 - 5 2)
(2 - 5 0)
注意到
我们可以对前三项进行简化,这样
上式表示h可只用一个O R 3逻辑门来实现,这比原来表达式所需要的逻辑门要简单得多。
例2 - 5
考虑函数
(2 - 5 6)
最后两项可加以分组来消除C,简化如下
(2 - 5 7)
即为最简化的形式。
例2 - 6
假设我们有
(2 - 5 8)
由于上式的第一项,该表达式自动地简化为V =1。
例2 - 7
按同样的方式
可以推导出
因为零与任何数相与的结果总为零。
2.8 完全逻辑集
我们已经看到复杂的逻辑函数可以通过将简单的基本逻辑运算,比如N O T运算和A N D运
算,加以组合来产生。在实际的设计环境中,我们需要面对如何选择用于系统设计的基本逻
辑运算集这一重要问题。逻辑运算的完全集就是可以用来产生所有可能的逻辑函数的基本逻
辑函数集合。
我们用N O T、A N D和O R运算来讲解此概念。我们可以证明这些运算可用于产生三个完全
逻辑集:
• NOT, AND
• NOT, OR
• NOT, AND和O R
34 数字系统设计基础教程
下载
(2 - 5 3)
(2 - 5 4)
(2 - 5 5)
任何一组都足以产生任意的逻辑函数,而前面两个为最小集。注意组合
• AND, OR
不是一个完全集。换句话说,你不能仅用A N D和O R运算来构成任意的逻辑函数;它必须
包括N O T运算。
例2 - 8
不能只用A N D和O R运算来构成函数的一个简单的例子是:
(2 - 5 9)
这是一个有效的表达式,当我们必须能够从a中产生出-a时,这就需要N O T运算。
由以上讨论,我们很容易理解下面两个都是完全逻辑集:
• NAND
• NOR
这样,举例来说,任何函数都可以只用N A N D逻辑门来产生。当我们讨论用于产生实际
的数字网络的电子电路时,此论述十分重要。
2.8.1 基于与非门的逻辑
让我们来验证与非门可构成完全集的观点。此概念的关键是狄摩根关系式
(2 - 6 0)
此式表示N A N D运算可用输入补码的O R运算来表示。特别值得注意的是如果B = A 那么
上式变成
(2 - 6 1)
所以我们可以通过把N A N D门的输入连接在一起来产生N O T运算,如图2 - 2 2所示。
虽然将逻辑转换到基于与非门逻辑的方法有多种,但其中一个简单的方法是从所希望转
换的函数开始,然后应用狄摩根法则来消除其中的O R运算。例如,假设我们想用与非门来实
现函数
(2 - 6 2)
对其取两次补码,并应用狄摩根法则得到
(2 - 6 3)
上式可用图2 - 2 3所示的逻辑图来构成。
图2-22 NAND2连接成反相器图2-23 NAND逻辑举例
2.8.2 基于或非门的逻辑
或非门逻辑以同样的方式进行转换。该转换以下面的狄摩根关系式为基础
(2 - 6 4)
上式表示N O R运算可看成输入变量补码的与运算。由于
第2章布尔代数和逻辑门35
下载
(2 - 6 5)
所以N O T函数可以通过将N O R门的输入连接在一起来得到,如图2 - 2 4所示;这同基于与
非门的逻辑中所用的方法类似。
作为一个简单的例子,假设我们想只用N O R门来构造函数
(2 - 6 6)
为了将此式转换为合适的形式,我们采用如下的狄摩根简化
(2 - 6 7)
上式仅用N O T运算和N O R运算来表示函数g。其等效的逻辑图表示在图2 - 2 5中。由于简化
结果中有一个O R运算,我们先将其构成
(2 - 6 8)
然后将上式取补码得到g。
图2-24 NOR2连接成反相器图2-25 NOR-门逻辑的例子
2.9 IEEE逻辑门符号
本章介绍以及应用于本书大部分内容的逻辑门符号称为面向形状的符号,因为运算的相
互区别是通过不同的几何形状实现的。只要经过定义,其它符号也可用于构造逻辑图。I E E E
标准符号在实际应用中十分普及,本节将对其加以概述。
在I E E E标准符号中,所有的逻辑门都用矩形方框来表示。每个逻辑门的运算是通过方框
本身的符号和标识来确定的。I E E E的基本运算总结于图2 - 2 6中。一般来讲,标识“ 1”的含义
36 数字系统设计基础教程
下载
图2-26 IEEE标准逻辑门符号
缓存
是乘以1 ,“≥1”定义的是O R运算,而记号“&”用于标识A N D运算。取补是通过在输出加一
个气泡( N O T)来得到的,它可将第一行的缓冲器、或门及与门分别变成第二行的非门、或
非门及与非门。
I E E E标识值得我们认真学习,因为它将使你可以读懂并理解你遇到的几乎所有的逻辑图。
在论述中对于简单的逻辑门我们仍然使用面向形状的符号,但对于更为复杂的函数我们将采
用I E E E标识,因为此时这种标识更为方便。
2.10 问题
对于下面所有的问题,假设所有输入为没有取补的变量。
1. 在逻辑图中用两个N O T逻辑门的简单级联来证明。
2. 构造O R 3逻辑门的逻辑符号并给出其真值表。
3. 构造A N D 3逻辑门的逻辑符号并给出其真值表。
4. 画出输入为a和b的、用独立的O R门及N O T门实现的函数
的逻辑网络。然后构造真值表,列出所有可能项及输出值。
5. 画出函数
的逻辑网络。此函数可用更少的逻辑门来实现吗?如果可以,做出简化并画出更为简单
的逻辑网络。
6. 构造函数
的逻辑网络。此逻辑网络是否可化简为更少数目的逻辑门?如果可以,说明其化简步骤
及最终结果。
7. 若输入为A, B和C,使用A N D , O R和N O T逻辑门画出函数
的逻辑网络。
8. 确定下面逻辑网络的函数f。
9. 求出下面逻辑图的表达式g。
10. 求出下图所示逻辑图的表达式f1和f2。
(x) = x
第2章布尔代数和逻辑门37
下载
I E E E是个首字母缩写词,代表电气与电子工程师协会(Institute of Electrical and Electronics Engineers),它是
一个电气工程师的专业组织。
11. 构造函数
的2-变量真值表。研究得出的结果,看看F是否可以用更为简单的逻辑表达式来表示。
12. 构造下面函数的真值表
13. 对于函数
构造此函数的逻辑图。
14. 对于输入变量为a , b , c和d的4输入N A N D门。画出其逻辑符号,然后用下面形式的语句
来描述此逻辑门的运算。
如果(条件)
那么
(结果)
否则
(其他结果)
15. 对于输入变量为x , y, z和w的4输入N O R逻辑门,画出其逻辑符号,然后用下面形式的语
句来描述此逻辑门的运算。
如果(条件)
那么
(结果)
否则
(其他结果)
16. 考虑独立输入为a , b和时钟信号ø的3-输入A N D逻辑门。时钟信号ø在时间上是周期性
的,如图所示。这是一个时钟控制的逻辑门的例子,它用于在复杂的系统中以顺序的方式移
动数据。
用下面语句为起始点写出逻辑门运算的描述:
如果= 1
那么
38 数字系统设计基础教程
下载
(结果)
否则, 如果
= 0
那么
(结果)
对于独立的输入a和b相对于时钟信号的“重要”值,上式对你有何启发?
17. 构造函数
的真值表。
18. 构造函数
的真值表。上式是否可简化为更为简单的形式?如果可以,说明使简化成为可能的属性,
并求出简化的表达式。
19. 构造函数
的真值表。此式是否可以简化为更为简单的形式?如果可以,说明使简化成为可能的
属性,并求出简化的表达式。
20. 求出由下面逻辑网络产生的函数G的最简单形式。
21. 求出由下面逻辑网络产生的函数F的最简单形式。
22. 求出由下面逻辑网络定义的函数Z的最简单形式。
23. 考虑函数
第2章布尔代数和逻辑门39
下载
产生此表达式的真值表,并将其与O R运算相比较。它与函数
是否相同?函数X和Y之间有什么关系?
24. 将下面函数简化为最简单的形式。
25. 用布尔简化来化简下面的函数。
26. 用代数恒等式将下面函数简化为最简形式。
27. 用代数恒等式简化下面的函数。
28. 仅用N O R门构造出下面函数的逻辑网络。
29. 仅用N O R门来构造下面函数的逻辑网络。
30. 仅用N A N D门来构造下面函数的逻辑网络。
31. 仅用N A N D门来构造下面函数的逻辑网络。
20. 用I E E E逻辑符号构造下面函数的逻辑图。
32. 用I E E E逻辑符号构造下面函数的逻辑图。
40 数字系统设计基础教程
下载 
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值