1.6 逻辑代数理论
布尔代数由英国数学家乔治·布尔于1849年创立,是数字电路设计理论中重要的组成部分。逻辑变量之间的因果关系,以及依据这些关系进行的布尔逻辑推理可用代数运算表示,这种代数称为逻辑代数,它是一个由逻辑变量集合、常量“0”和“1”,以及逻辑与、逻辑或和逻辑非三种运算所构成的代数系统。
1.6.1 逻辑代数中的运算关系
参与逻辑运算的变量叫作逻辑变量,用字母A、B等表示,每个变量的取值非0即1。0和1不表示数的大小,而是代表两种不同的逻辑状态。
1.正、负逻辑规定
(1)正逻辑体制。当采用正逻辑体制时,规定高电平为逻辑“1”,低电平为逻辑“0”。
(2)负逻辑体制。当采用负逻辑体制时,规定低电平为逻辑“1”,高电平为逻辑“0”。
除非有特殊说明,本书采用正逻辑体制。
2.逻辑函数
如果有若干个逻辑变量(如a、b、c、d)按逻辑与、逻辑或和逻辑非三种基本运算组合在一起,得到一个表达式L,对逻辑变量的任意一组取值(如0000、0001、0010),L都有唯一的值与之对应,则称L为逻辑函数。由逻辑变量a、b、c、d所表示的逻辑函数记为
L=f(a,b,c,d)
3.逻辑运算与其性质
两个主要的二元运算的符号定义为∧(逻辑与)和∨(逻辑或),把单个一元运算符号定义为(逻辑非),并且还使用“0”(逻辑假)和“1”(逻辑真)。逻辑代数有下列性质。
1)结合律
a∧(b∧c)=(a∧b)∧c
a∨(b∨c)=(a∨b)∨c
2)交换律
a∨b=b∨a
a∧b=b∧a
3)吸收律
a∨(a∧b)=a
a∧(a∨b)=a
4)分配律
a∨(b∧c)=(a∨b)∧(a∨c)
a∧(b∨c)=(a∧b)∨(a∧c)
5)互补律
6)幂等律
a∨a=a
a∧a=a
7)有界律
a∨0=a
a∨1=1
a∧1=a
a∧0=0
8)德·摩根定律
9)对合律
为了兼容目前各种数字逻辑/数字电路教科书的表示方法,本书后面将逻辑与表示成“·”、逻辑或表示为“+”、逻辑非表示为“-”、逻辑异或表示为“⊕”。
4.逻辑代数的基本规则
1)代入规则
任何一个含有变量X的等式,如果将所有出现变量X的位置都用一个逻辑函数F进行替换,此等式仍然成立。例如,等式:
B·(A+C)=B·A+B·C
将所有出现变量A的地方都用函数E+F代替,则等式仍然成立:
B·[(E+F)+C]=B·(E+F)+B·C=B·E+B·F+B·C
2)对偶规则
设F是一个逻辑函数式,如果将F中的所有的符号“·”变成“+”、符号“+“变成符号“·”、“0”变成“1”、“1”变成“0”,而变量保持不变,那么就得到了一个逻辑函数式F′,这个F′就称为F的对偶式。如果两个逻辑函数F和G相等,则它们各自的对偶式F′和G′也相等。例如:
F=A+B
使用对偶规则将等式改写为
F′=A·B
吸收律成立,则它们的对偶式:也是成立的。
3)反演规则
当已知一个逻辑函数F求时,只要把F中的所有符号“·”变成“+”、符号“+”变成“·”、“0”变成“1”、“1”变成“0”、原变量变成反变量、反变量变成原变量即得。例如,等式:
使用反演规则,得到表示为
反演规则也可通过德·摩根定律得到。
1.6.2 逻辑函数表达式
所有的逻辑函数表达式,不管逻辑关系多复杂,一定可以使用“与或”表达式或者“或与”表达式表示。由于在逻辑函数表达式中,逻辑与关系用符号“·”表示,逻辑或关系用符号“+”表示。所以,“与或”表达式也称为积之和(Sum of Product,SOP)表达式,“或与”表达式也称为和之积(Product of Sum,POS)表达式。
1.“与或”表达式
“与或”表达式是指由若干“与项”进行“或”运算构成的表达式。每个“与项”可以是单个变量的原变量或者反变量,也可以由多个原变量或者反变量相“与”组成。例如,均为“与项”。“与项”又被称为“乘积项”。将这3个“与项”相“或”便可构成一个3变量函数的“与或”表达式,表示为
用真值表准确地表示“与或”表达式如表1.20所示。
对于SOP表达式来说:
(1)对于包含3个输入变量A、B和C的真值表,可以使用3输入变量的逻辑与门。对于真值表中Y输出为“1”的每一行,要求一个3输入的逻辑与门。
(2)如果该行中某个输入变量的输入为“0”,则表示对该输入变量取反。
(3)所有的逻辑“与项”连接到具有一个M个输入的逻辑或门(M为Y输出为“1”的行的个数,此处M=3)。
(4)逻辑或门的输出是该逻辑函数的输出。
所以,Y的输出用下面的逻辑等式表示:
2.“或与”表达式
“或与”是指由若干“或项”进行“与”运算构成的表达式。每个“或项”可以是单个变量的原变量或者反变量,也可以由多个原变量或者反变量相“或”组成。例如,A+B、B+C、、D均为“或项”,将这4个“或项”相“与”便可构成一个4变量函数的“或与”表达式,表示为
用真值表准确地表示“或与”表达式如表1.21所示。
表1.20 由3个变量构成的真值表(1)
表1.21 由3个变量构成的真值表(2)
对于POS表达式来说:
(1)对于包含3个输入变量A、B和C的真值表,可以使用3输入变量的逻辑或门。对于真值表中Y输出为“0”的每一行,要求一个3输入的逻辑或门。
(2)如果该行的某个变量的输入为“1”时,表示对该输入取反。
(3)所有的逻辑“或项”连接到一个具有M输入的逻辑与门(M为Y输出为“0”的行的个数,此处M=5)。
(4)逻辑与门的输出是该逻辑函数的输出。
所以,最后Y的输出用下面的逻辑等式表示:
通常,逻辑函数表达式可以表示成任意的混合形式。例如:
该逻辑函数既不是“与或”式也不是“或与”式。但不论什么形式,都可以变换成SOP或者POS这两种最基本的形式。
3.最小项和最大项
在上面的SOP表达式中,每个乘积项包含所有3个输入变量。同样,在POS表达式中,每个和项包含所有3个输入变量。包含3个输入变量的乘积项称为最小项,包含3个输入变量的和项称为最大项。如果将一个给定行上的输入“1”或者“0”当作一个二进制数,则最大项或者最小项的数字可以分配到真值表中的每一行。因此,上面的SOP等式包含最小项1、3和5;POS等式包含最大项0、2、4、6和7。在SOP等式内的最小项中,输入变量为“1”表示取输入变量的原值,而输入变量为“0”表示对该输入变量取反。如表1.22所示,为上面的真值表加入完整的最小项和最大项。
表1.22 用最小项和最大项表示
对最小项和最大项编码,这样将SOP和POS等式用简化方式表示。SOP等式使用符号∑,表示乘积项求和;POS等式使用Π,表示和项求积。真值表内输出为“1”的一行定义了一个最小项,输出为“0”的一行定义了最大项。下面给出使用最小项和最大项的简单表示方法:
F=∑m(1,3,5)
F=ΠM(0,2,4,6,7)
思考与练习1-25:请画出下面等式所表示的逻辑电路。
F=∑m(1,2,6)
G=ΠM(0,7)
思考与练习1-26:请画出下面等式所表示的逻辑电路。
F=∑m(1,5,9,11,13)
G=ΠM(0,4,7,10,14)