三種基本運算
與
\(Y=A \space AND\space B = A\&B = A\cdot B = AB\)
邏輯與運算,實現與運算的電子器件成為與門。
或
\(Y = A \space OR \space B = A + B\)
非
\(Y = NOT A = \overline{A} = A^\prime\)
常用的復合邏輯運算
與非:\(Y=(A\cdot B)^\prime\)
或非:\(Y = (A+B)^\prime\)
與或非:\(Y = (A\cdot B + C \cdot D)^\prime\)

異或:\(Y=A\oplus B=(A^\prime \cdot B) + (A\cdot B^\prime)\)
同或:\(Y=A\odot B=(A\oplus B)^\prime=((A^\prime\cdot B)+(A\cdot B^\prime))^\prime=(A^\prime\cdot B)^\prime\cdot(A\cdot B^\prime)^\prime\\=(A+B^\prime)\cdot(A^\prime+B)=A\cdot A^\prime + A\cdot B + A^\prime\cdot B^\prime + B\cdot B^\prime=A\cdot B + A^\prime \cdot B^\prime\)
邏輯代數的基本公式和常用公式
基本公式
分配律:\(A+BC=(A+B)(A+C)\),\(A+BCD=(A+B)(A+C)(A+D)\)
反演律:\((AB)^\prime=A^\prime+B^\prime\),\((A+B)^\prime=A^\prime B^\prime\)
常用公式
- \(A+AB=A\)
\(A+AB=A(1+B)=A\)
- \(A(A+B)=A\)
\(AA+AB=A+AB=A(1+B)=A\)
- \(AB+AB^\prime=A\)
\(AB+AB^\prime=A(B+B^\prime)=A\)
- \(A+A^\prime B = A + B\)
\(A+A^\prime B=(A+A^\prime)(A+B)=A+B\)
-
\(AB+A^\prime C + BC=AB+A^\prime C\),\(AB+A^\prime C + BCD=AB + A^\prime C\)
-
\(A(AB)^\prime=AB^\prime\)\(A^\prime (AB)^\prime=A^\prime\)
\(A(AB)^\prime=A(A^\prime + B^\prime)=AA^\prime+AB^\prime\)
\(A^\prime (AB)^\prime=A^\prime(A^\prime+B^\prime)=A^\prime A^\prime+A^\prime B^\prime=A^\prime+A^\prime B^\prime=A^\prime(1+B^\prime)=A^\prime\)
邏輯代數的基本定理
代入定理
在任何一個包含A的邏輯式中,用另外一個邏輯式代替A的位置,則等式依然成立。這是數字電路可以模塊化互聯的理論基礎。
因為邏輯式A無論多么復雜他的值僅僅只能是0或者1,同樣其他邏輯式也是一樣的,因此代替之后等式依然成立。
例如:\(A+BC=(A+B)(A+C)\),用CD代替C可得\(A+BCD=(A+B)(A+CD)=(A+B)(A+C)(A+D)\);
\((A\cdot B)^\prime=A^\prime + B^\prime\),用\(B\cdot C\)代替B可得\((A\cdot BC)^\prime=A^\prime + (BC)^\prime = A^\prime + B^\prime + C^\prime\).
反演定理
對於任意邏輯式\(Y\),要求他的反函數\(Y\Rightarrow Y^\prime\),則將‘與’改成‘或’,1改成0,需要注意的是不屬於單變量的取反操作不改變,變換的順序是先括號,然后與最后或。
例如:\(Y=A^\prime (B+C)+CD\),則\(Y^\prime = (A+B^\prime C^\prime)(C^\prime+D^\prime)=AC^\prime + AD^\prime + B^\prime C^\prime\).
對偶定理
邏輯式Y的對偶式\(Y\Rightarrow Y^D\),或變與,與變或,0變1,1變0。
若邏輯式\(F=G\),則\(F^D=G^D\).
例如:\(F=A+BC,G=(A+B)(A+C)\),有\(F^D=A^\prime (B^\prime + C^\prime)=A^\prime B^\prime+A^\prime C^\prime\)、\(G^D=A^\prime B^\prime+A^\prime C^\prime\),\(F^D=G^D\).
邏輯函數
邏輯函數的表示方法
真值表、邏輯圖、邏輯式、波形圖。
邏輯式
將輸入輸出之間的邏輯關系用與或非的運算式進行表示。例如\(Y=(AB+CD)^\prime\).
不同的邏輯式表示的可能是同一個真值表。
邏輯圖
用邏輯圖形符號表示邏輯運算關系。
波形圖
將輸入變量所有取值組合與對應輸出按時間順序排列畫成波形。
邏輯函數表示方法之間的轉換
真值表->邏輯式
將Y=1的輸入變量取值取出來,將取值組合與起來,其中取值為1的為原變量,取值為0的為反變量,最后將他們或起來即可。
例如:

其中ABC取值為011,101,110的時候Y=1,則有\(Y=A^\prime BC+AB^\prime C + ABC^\prime\).
邏輯圖->邏輯式
從輸入到輸出逐級寫出每個圖形符號對應的邏輯運算式。
把邏輯圖看成一張圖,則邏輯式的計算順序按照拓撲排序結果進行計算。
例如:

則有
\(Y=((A+B)^\prime +(A^\prime + B^\prime) ^\prime)^\prime=(A^\prime B^\prime + AB)^\prime=(A^\prime B^\prime)^\prime (AB)^\prime\\=(A+B)(A^\prime B^\prime)=AA^\prime + AB^\prime + A^\prime B + BB^\prime=A^\prime B + AB^\prime=A \oplus B\)
邏輯函數的最簡式
最簡與或邏輯式
- 包含的與項最少;
- 每個與項的因子也已經最少。
例如:
\(Y = ABC+B^\prime C + ACD=ABC+B^\prime C=(AB+B^\prime)C=(A+B^\prime)C=AC+B^\prime C\)
\(Y=AC+B^\prime C + BD^\prime + CD^\prime + A(B+C^\prime)+A^\prime BCD^\prime + AB^\prime DE=AC+B^\prime C + BD^\prime + CD^\prime + A(B^\prime C)^\prime + AB^\prime DE\\ =AC+A+B^\prime C + BD^\prime +CD^\prime + AB^\prime DE=A+B^\prime C + BD^\prime + CD^\prime=A+B^\prime C + BD^\prime\)
邏輯函數的最小項之和標准形式
最小項
n變量邏輯函數的最小項m:m為與項、包含n個因子、每個變量都以原變量或反變量的形式在m中出現一次。
例如:兩變量AB的最小項有:\(A^\prime B^\prime\),\(A^\prime B\),\(AB^\prime\),\(AB\),分別使他們函數值為1的取值組合為:00,01,10,11,因此這四個最小項的編號分別為\(m_0\),\(m_1\),\(m_2\),\(m_3\).
性質
- 任意輸入變量取值,有且只有一個最小項的值為1
- 全體最小項之和為1
- 任意兩個最小項之積為0
- 兩個相鄰的最小項(只有一個因子不同的最小項)之和可以合並,只留下公共因子:\(AB^\prime+AB=A\)
與或式->最小項之和
\(Y(A,B,C)=ABC^\prime + BC = ABC^\prime + BC(A+A^\prime)=ABC^\prime +ABC+A^\prime BC=\sum m(3,6,7)\)
最大項
n變量邏輯函數的最大項M:M為或項、包含n個因子、n個變量均以原變量或反變量的形式在M中出現一次。
例如:兩變量AB的最小項有:\(A^\prime +B^\prime\),\(A^\prime +B\),\(A+B^\prime\),\(A+B\),分別使他們函數值為0的取值組合為:11,10,01,00,因此這四個最大項的編號分別為\(M_3\),\(M_2\),\(M_1\),\(M_0\).
性質
- 任意輸入變量取值,有且只有一個最大項的值為0
- 全體最大項之積為0
- 任意兩個最大項之和為1
- 兩個相鄰的最大項之積可以合並,只留下公共因子:\((A+B)(A+B^\prime)=AA+AB^\prime+AB+BB^\prime=A\)
或與式->最大項之積
\(Y(A,B,C)=(A+B+C^\prime)(B+C)=(A+B+C^\prime)(AA^\prime+B+C)\\=(A+B+C^\prime)(A+B+C)(A^\prime +B+C)=\prod_{i=0,1,4} M_i\).
最小項與最大項的關系
同一編號的\(m_i\)和\(M_i\)互為反函數。
最小項之和->最大項之積:\(Y=\sum m_i\),\(Y^\prime=(\sum m_i)^\prime=\sum_{k\neq i}m_k\),\(Y=(\sum_{k\neq i}m_k)^\prime = \prod_{k \neq i}m_k^\prime=\prod _{k\neq i}M_k\).
例如:\(Y=A^\prime BC^\prime + AB^\prime C + ABC^\prime +ABC=\sum_{i=2,5,6,7} m_i=\prod_{i=0,1,3,4}M_i\).
最大項之積變換為最小項之和也同理,例如:
\(Y=(A+B+C)(A+B+C^\prime)=\prod_{i=0,1}M_i = \sum_{i=2,3,4,5,6,7}m_i\)
卡諾圖
卡諾圖邏輯函數最小項之和的一種圖形表示。
用\(2^n\)個小方格分別表示n變量所有最小項,卡諾圖使得幾何位置相鄰的最小項在邏輯上也是相鄰的。
注意,1.相鄰的變量取值需要為格雷碼;2.集合相鄰包括上下左右相鄰、上下環相鄰、左右環相鄰,對折位置重合相鄰。
例如五變量的卡諾圖可以是這樣的:
從紅線處折疊,那么\(m_9\)和\(m_{13}\)是重疊的,所以他們兩個在邏輯上是相鄰的。
對於卡諾圖需要注意,如果讓ABC成為列,DE成為行也是可以的,同理ABCD成為列,E成為行,無論如何變化方格的總數是不變的,都是\(2^5\)個。
卡諾圖表示邏輯函數
方法1
- 將邏輯函數表示為最小項之和的形式;
- 在卡諾圖上將這些最小項對應的方格填入1,其余方格填入0.
例如:\(Y=(ABC)=\sum_{i=5,6,7} AB^\prime C+ABC^\prime+ABC\),那么他的卡諾圖為
方法2
- 確定使每個與項為1的所有輸出變量取值,行在卡諾圖上對應方格填入1;
- 其余方格填入0.
例如:\(Y=C+AB^\prime\),那么只要\(C\)為1,\(Y\)的取值就是1;同理只要\(AB^\prime\)為1,\(Y\)的取值也是1。所以只需要在\(C\)為1的行或列填入1,在\(AB^\prime\)所在的行或列填入1即可。注意,卡諾圖設計的時候應該將\(C\)放在一行,\(AB^\prime\)放在一行(大概?)
卡諾圖化簡邏輯函數
- 兩個相鄰的最小項可合並為一項,消去一個因子
- 四個相鄰的最小項可合並為一項,消去兩個因子
- 八個相鄰的最小項可合並為一項,消去三個因子
例如:
圖中指向的兩個最小項,他們的取值同時跨越了A=0和A=1,那么提取出BC后A就被消去,就只剩下BC,同理四個、八個。
卡諾圖化簡原則
- 要使化簡之后與項的數量最少,應該讓圈成的矩陣數量盡量少;
- 要使化簡之后的與項因子最少,應該讓圈成的矩陣盡量大;
- 圈中至少要有一個1只被當前的圈圈住,否則這個圈就是多余的
例如
第一個化簡之后的結果為:\(Y=BC^\prime D+B^\prime CD+A^\prime BC+ABD^\prime\).
第二個化簡之后的結果為:\(Y=BD+CD+BD^\prime + B^\prime D^\prime\).
第三個化簡之后的結果為:\(A^\prime + D^\prime\).
- \(Y=(A,B,C)=AC^\prime + A^\prime C + B^\prime C + BC^\prime\),他的卡諾圖為:

化簡之后的結果為:\(Y=AB^\prime + A^\prime C + BC^\prime\),也可以為\(Y=B^\prime C+A^\prime B+AC^\prime\).
- \(Y=ABC+ABD+AC^\prime D+C^\prime D^\prime +AB^\prime C+A^\prime CD^\prime\),他的卡諾圖為:

化簡之后的結果為:\(Y=A+D^\prime\).
利用無關項化簡邏輯函數
約束項和任意項
約束項:邏輯函數對輸入變量的取值有限制,這些被限制的取值對應的最小項成為約束項。與約束項對應的輸入取值組合不可能存在,因此約束項的取值總為0
任意項:在某些輸入變量取值中,函數值為0或1不影響邏輯電路的功能,這些取值對應的最小項成為任意項
無關項:約束項和任意項統稱為無關項,他們可以寫入也可以不寫入邏輯式
化簡
- 加入無關項之后,應使化簡后的項數最少,每項的因子最少
- 從幾何上看,加入無關項之后應該讓矩形圈最大、矩形數最少
例如
\(Y=A^\prime B^\prime C^\prime D+A^\prime BCD+AB^\prime C^\prime D^\prime\),給定的約束條件為\(A'B'CD+A'BC'D+ABC'D'+AB'C'D+ABCD+ABCD'+AB'CD'=0\),則函數的卡諾圖為:

這樣是無法構成2、4、8個相鄰的最小項的,但是加入約束條件,在卡諾圖中標出對應的最小項得到:

化簡后可得到:\(Y=A'D+AD'=A\oplus D\).
\(Y(A,B,C,D)=\sum_{i=2,4,6,8}m_i\),約束條件為\(m_5+m_{10}+m_{11}+m_{12}+m_{12}+m_{14}+m_{15}=0\),則其卡諾圖為:

化簡的結果為:\(Y=BC'+AD'+CD'\).