黎明杰
(深圳大学 光电工程学院, 广东 深圳 518060)
在布尔代数中,由于其基本逻辑定义的关系,使得其逻辑表达式不能进行直接的算术运算的,如“或”运算Y=A+B,这里当A和B的值同时为1时,不代表输出值Y为2。同理,“非”运算、“异或”运算、“同或”运算符号,也不能进行数学运算。
本文就针对此问题作出改进。
为避免和汉语表述混淆,将逻辑语言的“与”“或”“非”等加双引号表示,以作区分。
(1) “与”:在计算A“与”B中,仅当A和B同时为1时,结果才为1,即,当A或者B其中一个为0,结果将为0。对此,数学运算中乘法恰好有这样的特性。因此定义
A“与”B:A×B
(2) “非”:在计算 “非”A中,当A为1,结果为0,当A为0,结果为1;在这里,如果将 全码 定为 1,那么1和0则互补。故可将 “非”A看作求A对全码1的补。因此定义
“非”A:1-A
(3) “异或”:在计算A“异或”B中,一旦A和B不相等,结果为1,否则为0。而减法恰好有这样的特性,可令运算为A-B,但这样运算的话,结果将有可能为负值。因此定义
A“异或”B“:(A-B)2
考虑到A、B的取值无外乎0和1,则可以知道An=A。所以,上式可以化简为
A“异或”B:A+B-2AB
(4) “同或”:在计算A“同或”B中,其结果为“异或”运算的非,即,A“同或”B等于对A“异或”B取非,因此定义
A“同或”B:1-(A-B)2=1+2AB-A-B
(5) “或”:在计算A“或”B中,其结果可以看作
(1)“异或”和“与”的叠加,即,A“或”B等于A“异或”B加A“与”B,因此定义
(2)A“或”B:(A-B)2+AB=A+B-AB
上述将逻辑运算用数学运算替代的方法,称之为新定义。
该定理用逻辑运算描述为:
(1)(“非”A)“或”(“非”B)= “非”(A“与”B)
(1)
(2) (“非”A)“与”(“非”B)= “非”(A“或”B)
(2)
证(1):用数学运算描述,等号左端 = [ (1-A) + (1-B) - (1-A)(1-B) ] = 2-A-B-1+A+B-AB=1-AB=等号右端
证(2):等号左端 = (1-A)×(1-B) = 1-A-B+AB= 1 - (A+B-AB) =等号右端
1)或非门SR锁存器的输出特性:
或非门SR锁存器原理图示于图1。
图1 或非门SR锁存器
根据新定义,对每个或非门列方程,有:
(3)
对式(3)求解,可以得到以下关系:
(4)
根据结果将S、R的值代入式(4)进行算术运算可以得到: ①S=1,R=0时,Q=1 ,Q′=0;
②S=0 ,R=1时,Q=0 ,Q′=1;
③S=1 ,R=1时,Q=0 ,Q′=0;
④S=0 ,R=0时,有
(5)
这时,如果是由①和②的情况跳变到④的话,那么Q和Q′互非,根据式(5)可知,Q和Q′保持原来的状态;而对于由③跳变到④,则需要考虑两种情况:
第一种:S和R的其中一个比另一个先到达0状态,即有中间过程,③→①→④或者③→②→④,那么经历了中间态之后,Q和Q′互非,保持状态;
第二种: 如果S和R严格地同时到达0状态,即没有中间过程,根据式(5)可知,Q和Q′在不断地翻转,由{Q=0,Q′=0}→{Q=1,Q′=1}→{Q=0,Q′=0},无限循环,显然,出现此情况的概率微乎其微。
2)与非门SR锁存器的输出特性:
与非门SR锁存器原理图示于图2
图2 与非门SR锁存器
根据新定义,对每个或非门列方程,有:
(6)
对式(6)求解,可以得到以下关系:
(7)
根据结果,将S、R的值代入式(7)进行运算可以得到:
①S′=1 ,R′=0,时,Q=0 ,Q′=1;
②S′=0 ,R′=1,时,Q=1 ,Q′=0;
③S′=0 ,R′=0,时,Q=1 ,Q′=1;
④S′=1 ,R′=1,时,同样得到(5),
这时如果是由①和②的情况跳变到④的话,那么Q和Q′互非,根据式(5)可知,Q和Q′保持原来的状态;而对于由③跳变到④,则需要考虑两种情况:
第一种:S和R的其中一个比另一个先到达1状态,即有中间过程,③→①→④或者③→②→④,那么经历了中间态之后,Q和Q′互非,保持状态;
第二种: 如果S和R严格地同时到达1状态,即没有中间过程,根据方程组(5)可知,Q和Q′在不断地翻转,由{Q=1,Q′=1}→{Q=0,Q′=0}→{Q=1,Q′=1},无限循环,显然,出现此情况的概率微乎其微。
根据图3真值表设计逻辑电路。
图3 真值表
根据真值表可写出Y=(1-A0)A1A2+A0(1-A1)A2+A0A1(1-A2)+A0A1A2;
化简后有Y=A0A1+A0A2+A1A2-2A0A1A2;至此就可以清晰看见输入与输出之间的数值关系了。
为方便绘制逻辑电路,将结果转为逻辑语言表述出来,进行配项有Y=A0A1+A0A2+A1A2-2A0A1A2=(A0A1+A0A2-A0A1A2)+A1A2-A0A1A2=(A0A1+A0A2-A0A1A2)+A1A2-(A0A1+A0A2-A0A1A2)A1A2;
即Y=[A0“与”A1]“或”(A0“与”A2)“或”(A1“与”A2),设计结果如图4所示。
图4 逻辑电路
根据上述可以发现,利用新定义,可以将逻辑运算完全转化为纯数学运算,即可将一切逻辑运算问题转化为数学问题,将逻辑分析变得更为直观易解,特别是当变量繁多或者逻辑运算过程含有反馈的时候,这种优势更为明显,如2.2中求解SR锁存器的输出特性时,逻辑运算中就含有反馈,利用新定义可求解出一条简单的表达式,而布尔代数的方法就只能通过逐步推导来得出结果。因此对于逻辑表达式的化简,利用新定义就可以直接数学化简。这将大大简化逻辑问题的分析,同样也方便了逻辑设计。
[1] 阎石 主编,数字电子技术基础(第五版),高等教育出版社。