一、邏輯函數的化簡
將一個邏輯表達式變得最簡單、運算量最少的形式就叫做化簡。由於 運算量越少,實現邏輯關系所需要的門電路就越少,成本越低,可靠性相對較高,因此在設計邏輯電路時,需要求出邏輯函數的最簡表達式。

由此可以看到,函數化簡是為了簡化電路,以便用最少的門實現它們,從而降低系統的成本,提高電路的可靠性。
通常來說,我們化簡的結果會有以下五種形式

為什么是這五種情況,這個跟我們實現的邏輯電路的元器件是有關系的。在所有的邏輯電路中,都是通過與、或、非三種邏輯電路來實現的,之前說過邏輯“與或”、“或與”、“與或非”組合邏輯電路是具有完備性的,也就是說能夠通過它們不同數量的組合能夠實現任何電路。
通過不同的“與或”電路組成的電路,最后化簡的表達式就是“與或”表達式,其他同理。
二、將使用“與或”表達式的化簡

-
表達式中乘積項的個數應該是最少的
表達了最后要用到的與門是最少的,因為每一個乘積項都需要一個與門來實現。同時也對應了或門輸入端的個數變少,有2個與項或門就有2個輸入端,有3個與項或門就有3個輸入端。
所以第一個條件是為了我們的與門和或門最少。
-
每一個乘積項中所含的變量個數最少
它是解決每一個與門的輸入端最少。
邏輯函授的化簡有三種方法

三、邏輯函數的代數化簡法

3.1 並項法
並項法就是將兩個邏輯相鄰(互補)的項合並成一個項,這里就用到了“合並律”

將公因子A提取出來合並成一項,b和b非相或的結果就等於1,所以最后的結果就是A。



3.2 吸收法
吸收法是利用公式“吸收律”來消去多余的項



3.3 消項法
消項法又稱為吸收律消項法


3.4 消因子法(消元法)

3.4 配項法

左邊的例子用到了方法1,右邊的例子用到了方法2。
3.5 邏輯函數的代數法化簡的優缺點
優點:對變量的個數沒有限制。在對定律掌控熟練的情況下,能把無窮多變量的函數化成最簡。
缺點:需要掌握多個定律,在使用時需要能夠靈活應用,才能把函數化到最簡,使用門檻較高。在有些函數下,並不能化到最簡。
綜上所述,代數法化簡的缺點遠遠大於它的優點,因而引出了卡諾圖化簡法。
四、卡諾圖化簡
4.1 概念
-
卡諾圖是由美國工程師卡諾(Karnaugh)首先提出的一種用來描述邏輯函數的特殊方格圖。
-
在學習卡諾圖之前有個概念需要清楚:
-
最小項的定義:一個函數的某個乘積項包含了函數的全部變量,其中每個變量都以原變量或反變量的形式出現,且僅出現一次,則這個乘積項稱為該函數的一個標准積項,通常稱為最小項。
簡單來說最小項就是變量只有與非的表達式,3變量的與非表達式能夠組合出8種不同的形式。它們的特點是8種不同的與非表達式,輸入同樣的變量取值,如:000,最后只有一種表達式會得1,其余得0,所以叫做最小項。

-
邏輯相鄰最小項,如果兩個最小項之間,只有一個變量不同,其余都相同,這個就叫做邏輯相鄰最小項。
-
| 編號 | A | B | F |
|---|---|---|---|
| m0 | 0 | 0 | 0 |
| m1 | 0 | 1 | 1 |
| m2 | 1 | 0 | 1 |
| m3 | 1 | 1 | 0 |
這個真值表是AB變量的數值是按照順序來變化的,可以看到編號為m1和m2之間變量並不相鄰,都互相取反了。我們可以通過調整順序,將這個真值表變成邏輯相鄰(格雷碼)。
| 編號 | A | B | F |
|---|---|---|---|
| m0 | 0 | 0 | 0 |
| m1 | 0 | 1 | 1 |
| m3 | 1 | 1 | 0 |
| m2 | 1 | 0 | 1 |
將m3和m2進行位置的互換以后,可以看到只有1位變量的值,發生了變化,這樣就叫做邏輯相鄰(格雷碼)。

邏輯相鄰(格雷碼)給我們找到了一個化簡的途徑,在卡諾圖中正是利用了這個原理進行化簡的。
4.2 卡諾圖的構成
卡諾圖主要的做法就是畫一個二維的方格圖,在這個圖里面,我們把邏輯相鄰的最小項都擺放成位置相鄰。
-
在這個方格圖中,每一個方格代表邏輯函數的一個最小項,而且幾何相鄰(在幾何位置上,上下或左右相鄰)的小方格具有邏輯相鄰性(格雷碼),即兩相鄰小方格所代表的最小項只有一個變量取值不同。
-
對於有n個變量的邏輯函數,其最小項有2^n個。因此該邏輯函數的卡諾圖由 2^n 個小方格構成,每個小方格都滿足邏輯相鄰項的要求。

這是一個二變量的卡諾圖,變量A寫在左側,0和1表示那一列A不同的取值。變量B寫在上方,0和1表示那一行B不同的取值。格子里面是存放的是左側與上側的變量結合出來的最小項表達式。結合成最小項時,左側的變量A在高位,上側的變量B在低位。
相鄰方格位置之間的最小項只有一個變量發生了變化,這個就叫做位置相鄰。
在卡諾圖中多變量那一行,需要按照邏輯相鄰(格雷碼)的概念進行排序。


N變量的表達式有N種不同的最小項,這個原理在卡諾圖中也是一樣的。在N變量的卡諾圖中,任意位置的最小項都能找到N個對應位置相鄰的最小項。
最小項編號具有格雷碼的循環特性,所以在卡諾圖中邊緣的最小項能夠跟它最上面和最左、右邊的最小項位置相鄰。

對於5變量的卡諾圖,我們也應該提供給每一個最小項都有5個位置相鄰的最小項。但是在二維表中,只有上下左右,因此沒有辦法在一個表中提供5個位置相鄰的最小項。那么一張不行,我們就把它定義成2張卡諾圖。
假設,5個變量分別為:ABCDE,我們把A變量單獨拿出來,將A=0的情況,用一張表來表示;將A=1的情況,再用一張表表示。每個表都是4變量的卡諾圖,結合成最小項時,A變量在最高位,接下來是左側的變量BC,上側的變量DE在低位。


4.3邏輯函數的卡諾圖表示

最小項之和式


最大項之積式


4.4 真值表轉換成卡諾圖

4.5 一般“與或”式的邏輯函數轉換成卡諾圖
1、將式子的不同變量提取出來,變成N變量的卡諾圖。

2、觀察結果F 在何種狀態下結果會變為1,上面式子通過觀察可知,只要有一個與項的結果等於1,其結果F就會等於1.
3、將會使結果F等於1的變量值和卡諾圖對應上,其格子填上1。


4、所有F=1的情況,列出來以后,其他就=0了。

4.6 一般“或與”式的邏輯函數轉換成卡諾圖
1、將式子的不同變量提取出來,變成N變量的卡諾圖。

2、觀察結果F 在何種狀態下結果會變為0,上面式子通過觀察可知,只要有一個或項的結果等於0,其結果F就會等於0.
3、將會使結果F等於0的變量值和卡諾圖對應上,其格子填上0。


4、所有F=0的情況,列出來以后,其他就=1了。

4.7 邏輯函數為其他形式轉換成卡諾圖


4.7 卡諾圖的性質


4.8 卡諾圖的運算





4.9 利用卡諾圖化簡邏輯函數
4.9.1 最小項合並規律


這個圈就叫做卡諾圈。



1、求最簡“與或”式(最小項)



2、圈組合並時注意事項






3、求最簡“或與”式(最大項)


4.9.2 多輸出邏輯函數的卡諾圖化簡法


