黎明杰
(深圳大學 光電工程學院, 廣東 深圳 518060)
在布爾代數(shù)中,由于其基本邏輯定義的關系,使得其邏輯表達式不能進行直接的算術運算的,如“或”運算Y=A+B,這里當A和B的值同時為1時,不代表輸出值Y為2。同理,“非”運算、“異或”運算、“同或”運算符號,也不能進行數(shù)學運算。
本文就針對此問題作出改進。
為避免和漢語表述混淆,將邏輯語言的“與”“或”“非”等加雙引號表示,以作區(qū)分。
(1) “與”:在計算A“與”B中,僅當A和B同時為1時,結果才為1,即,當A或者B其中一個為0,結果將為0。對此,數(shù)學運算中乘法恰好有這樣的特性。因此定義
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
上述將邏輯運算用數(shù)學運算替代的方法,稱之為新定義。
該定理用邏輯運算描述為:
(1)(“非”A)“或”(“非”B)= “非”(A“與”B)
(1)
(2) (“非”A)“與”(“非”B)= “非”(A“或”B)
(2)
證(1):用數(shù)學運算描述,等號左端 = [ (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鎖存器
根據(jù)新定義,對每個或非門列方程,有:
(3)
對式(3)求解,可以得到以下關系:
(4)
根據(jù)結果將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′互非,根據(jù)式(5)可知,Q和Q′保持原來的狀態(tài);而對于由③跳變到④,則需要考慮兩種情況:
第一種:S和R的其中一個比另一個先到達0狀態(tài),即有中間過程,③→①→④或者③→②→④,那么經(jīng)歷了中間態(tài)之后,Q和Q′互非,保持狀態(tài);
第二種: 如果S和R嚴格地同時到達0狀態(tài),即沒有中間過程,根據(jù)式(5)可知,Q和Q′在不斷地翻轉,由{Q=0,Q′=0}→{Q=1,Q′=1}→{Q=0,Q′=0},無限循環(huán),顯然,出現(xiàn)此情況的概率微乎其微。
2)與非門SR鎖存器的輸出特性:
與非門SR鎖存器原理圖示于圖2
圖2 與非門SR鎖存器
根據(jù)新定義,對每個或非門列方程,有:
(6)
對式(6)求解,可以得到以下關系:
(7)
根據(jù)結果,將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′互非,根據(jù)式(5)可知,Q和Q′保持原來的狀態(tài);而對于由③跳變到④,則需要考慮兩種情況:
第一種:S和R的其中一個比另一個先到達1狀態(tài),即有中間過程,③→①→④或者③→②→④,那么經(jīng)歷了中間態(tài)之后,Q和Q′互非,保持狀態(tài);
第二種: 如果S和R嚴格地同時到達1狀態(tài),即沒有中間過程,根據(jù)方程組(5)可知,Q和Q′在不斷地翻轉,由{Q=1,Q′=1}→{Q=0,Q′=0}→{Q=1,Q′=1},無限循環(huán),顯然,出現(xiàn)此情況的概率微乎其微。
根據(jù)圖3真值表設計邏輯電路。
圖3 真值表
根據(jù)真值表可寫出Y=(1-A0)A1A2+A0(1-A1)A2+A0A1(1-A2)+A0A1A2;
化簡后有Y=A0A1+A0A2+A1A2-2A0A1A2;至此就可以清晰看見輸入與輸出之間的數(shù)值關系了。
為方便繪制邏輯電路,將結果轉為邏輯語言表述出來,進行配項有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 邏輯電路
根據(jù)上述可以發(fā)現(xiàn),利用新定義,可以將邏輯運算完全轉化為純數(shù)學運算,即可將一切邏輯運算問題轉化為數(shù)學問題,將邏輯分析變得更為直觀易解,特別是當變量繁多或者邏輯運算過程含有反饋的時候,這種優(yōu)勢更為明顯,如2.2中求解SR鎖存器的輸出特性時,邏輯運算中就含有反饋,利用新定義可求解出一條簡單的表達式,而布爾代數(shù)的方法就只能通過逐步推導來得出結果。因此對于邏輯表達式的化簡,利用新定義就可以直接數(shù)學化簡。這將大大簡化邏輯問題的分析,同樣也方便了邏輯設計。
[1] 閻石 主編,數(shù)字電子技術基礎(第五版),高等教育出版社。