在上面的各节中介绍了逻辑函数和逻辑表达式,也频繁使用真值表,那么二者有什么关系呢?二者能否相互转换呢?答案是肯定的,二者不仅有关系,而且还能相互转化。在介绍逻辑函数的时候,就介绍了函数的两种表达方式,一种是逻辑代数的表达方式如:Y=AB;另一种是列表表示法,将输入变量逻辑值的所有组合与对应的函数输出列在一张表中,即所谓的真值表。这两种方法是等效的,都是逻辑函数的表达方式,因此经常使用真值表证明两个表达式是否等效。
1. 由逻辑表达式生成真值表
由逻辑表达式生成真值表,即将所有的自变量的各种组合代入表达式,求出函数值并列表即可。如函数Y=AB, 对应真值表。
图1
真值表不一定非要如图1的排列方式,如图2也是可以的,但习惯上都用图1的形式。
图2
例1: 求3输入异或函数Y=A⊕B⊕C的真值表。
根据异或特点:A、B、C三个变量可以先计算B、C异或,结果再与A进行异或。
(1)B、C不同时,A=0,结果为1,
(2)B、C 相同时,A=1,结果为1,
(3)其它,结果为0
也可以将异或展开成与、或、非的方式求解表达式的值:
真值表如图3:
图3
- 由逻辑表达式生成真值表不一定惟一
普通的表达式与真值表不满足一对一的关系。如: Y=A+AB 的真值表如下:
图4
但Y=A+AB通过化简可得Y=A+AB=A(1+B)=A, 因此真值表也可以简化如图5,
图5
- 由最简表达式构成的逻辑函数真值表是惟一的
最简表达式是指表达式中逻辑变量最少,同时逻辑项最少,如Y=A+AB经过化简后得Y=A,这样的函数由最简表达式构成,也就是不能通过逻辑代数再进行化简的表达式。由最简表达式构成的逻辑函数与对应的真值表是一对一映射的。
逻辑化简的目标是得到最简表达式。
2. 由真值表转换为逻辑函数
- 单自变量
观察图5, 真值表对应的逻辑函数为Y=A;可以得出结论,对于单变量的真值表,可以用正变量表达(正逻辑函数),也可以用反变量表达(反逻辑函数,或负逻辑函数)。
-
- 正变量表达,取Y=1项,对应的自变量A也为1, 此时采用Y=A, 可以验证当A=1,Y=1, 当A=0,Y也为0,满足逻辑表达式与真值表的对应关系。
- 反变量表达,取Y=0项,当自变量为0时,Y=0, 可以表达为
,验证如下: A=0,Y=0, 得
。当A=1, Y=1, 得
,也满足逻辑表达式与真值表的对应关系。
- 可以用正变量表示逻辑关系,也可以用反变量表示,习惯上用正变量表达。正、反求函数表达式如图6所示。
图6
- 双自变量
双自变量含有与、或,与非、或非、异或等多种关系,我们先以2输入与门为例介绍,逐渐推导出来其它的类型。
-
- 2输入“与”逻辑
图7
-
-
- 正变量表达,A=B=1时,Y=1;此时表达为Y=AB, 当A,B任意一个不为1,Y=0, 可以验证表达式与真值表一致。
- 反变量,由于Y=0总共有3项,任意1项都能使Y=0,满足“或非”逻辑的关系,因此有
,如图7所示。将函数两边同时取反,可以导出Y=AB,可见用正变量与反变量表达是一致的。
- 虽然正、反变量表达逻辑函数都可以,但本例明显使用正变量表达比较简单。
-
-
- 2输入“与非”逻辑
图8
2输入端与非逻辑也可以采用正、负实现逻辑表达式求解,但可以看出采用负逻辑显然更简单。
- 3输入异或逻辑
图9
- 总结:
- 在真值表中,自变量为0的用反变量表示,自变量为1的用正变量表示,
- 在每一行中自变量的正变量或反变量相与,组成最小项如ABC,关于最小项的详细内容将在下一章介绍,
- 采用正逻辑表达式时,因变量(函数)用正变量表示,如Y。将表中因变量为1的项相或,
- 采用负逻辑表达式时,因变量(函数)用反变量表示,如
。将表中因变量为0的项相或,
- 由于从真值表中得到的表达式不一定是最简表达式,因此需要化简得到最简逻辑表达式。
3. 本章小结
(1)逻辑代数:是抽象的数学工具,与利用数学分析物理学、化学、工程领域的重要工具一样,逻辑代数也是分析和设计逻辑、因果推导、数字逻辑的重要工具。
(2)逻辑运算符: 与、或、非是3种基本逻辑运算符。与非、或非、与或非、异或则是由与、或、非3种基本逻辑运算复合而成的4种常用逻辑运算。
(3)逻辑函数(表达式):可以把实际逻辑问题抽象为逻辑函数来描述,就是所谓的数学建模,并且可以用逻辑运算的方法,解决逻辑电路的分析和设计问题。
(4)逻辑公式和定理:是推演、变换及化简逻辑函数的依据。
练习题:
(1)请化简逻辑表达式 ,推导出结论Y=AB。
(2)证明:
(3)分别画出2输入端或门,2输入端或非门真值表,并由真值表转换为逻辑函数,并化简。