卡諾圖化簡法

目錄

1.學前需要了解知識點

2.卡諾圖(karnaugh map)

3.邏輯函數的卡諾圖化簡法

4.總結


1.學前需要了解知識點

  • 最小項的定義
  • 最小項的表示方法
  • 最小項的相鄰性

最小項的定義:一個函數的某個乘積項包含了函數的全部變量,其中每個變量都以原變量或反變量的形式出現,且僅出現一次,則這個乘積項稱爲該函數的一個標準積項,通常稱爲最小項

最小項的表示方法:通常用來表示最小項。

下標i的確定方式:把最小項中原變量記爲1,反變量記爲0,當變量順序確定後,可以按順序排列成一個二進制數,則這個二進制數相對應十進制數,就是這個最小項的下標i

例1:

函數L(A,B,C)中有3個變量,他們的最小項是:

如果把原變量記爲1,反變量記爲0:

以上就是下標i的確認方式。

既然i已經確認,也就是說(m0、m1...m7)可以記成:

最小項的的相鄰性:任何兩個最小項如果他們只有一個因子不同其餘因子都相同,則稱這兩個最小項爲相鄰最小項

例如:m0和m1具有相鄰性,m1和m2卻沒有,因爲他們有兩個不同的因子;m3和m4也不相鄰,但是m3和m2相鄰。

相鄰的兩個最小項之和可以合併一項消去一個變量。如:

到此,已經具備接下來學習卡諾圖的準備知識點,接下來看看怎麼畫卡諾圖以及卡諾圖化簡法。

2.卡諾圖(karnaugh map)

基本知識:

  • 卡諾圖是由美國工程師卡諾(Karnaugh)首先提出的一種用來描述邏輯函數的特殊方格圖。

  • 在這個方格圖中,每一個方格代表邏輯函數的一個最小項,而且幾何相鄰(在幾何位置上,上下或左右相鄰)的小方格具有邏輯相鄰性,即兩相鄰小方格所代表的最小項只有一個變量取值不同

  • 對於有n個變量的邏輯函數,其最小項有2^n個。因此該邏輯函數的卡諾圖由 2^n  個小方格構成,每個小方格都滿足邏輯相鄰項的要求。

稍微整理下上面的基本知識點:

  1. 一種描述邏輯函數特殊方格圖。
  2. 每格代表一個最小項,上下左右相鄰就具備相鄰性。
  3. 有n個變量,最小項就有2^n且卡諾圖也由2^n個格子構成。

兩變量的卡諾圖:

三變量的卡諾圖:

四變量的卡諾圖以此類推吧!就不畫了,累啊,偷懶一下。

例2:畫出邏輯函數的卡諾圖。

解:

通過上面的例子,我們已經掌握如何畫卡諾圖,接下來就是如何使用卡諾圖進行化簡。

3.邏輯函數的卡諾圖化簡法

卡諾圖相鄰性的特點保證了幾何相鄰兩方格所代表的最小項只有一個變量不同。因此,若相鄰的方格都爲1(簡稱1格)時,則對應的最小項就可以合併。合併的結果是消去這個不同的變量,只保留相同的變量。這是圖形化簡法的依據。     

綜上所述,卡諾圖具備以下特性:

  1. 卡諾圖中兩個相鄰1格的最小項可以合併成一個與項,並消去一個變量。
  2. 卡諾圖中四個相鄰1格的最小項可以合併成一個與項,並消去兩個變量。
  3. 卡諾圖中八個相鄰1格的最小項可以合併成一個與項,並消去三個變量。

利用這3點特性來接着看下面的例子:

上圖兩個相鄰1格的最小項可以合併成一個與項,並消去一個變量,化簡式子如下:

根據上面3個特性再來看幾個例子加深理解,以下是4個相鄰1格的:

再來看一題:

用卡諾圖化簡法求最簡與或表達式

先畫出卡諾圖,然後轉換十進制對應1,2,3,6,7的地方填入爲1,其餘填寫爲0(這個步驟有前面的知識點支撐,應該不難理解了。)

然後獲得式子:F =m1+m3+m2+m3+m6+m7

即:

好了到此,我們已經清楚如何化簡了,接下來是對如何對卡諾圖進行畫圈進行探討。

首先,有這麼幾點需要明確:

  1. 列出邏輯函數的最小項表達式,由最小項表達式確定變量的個數(如果最小項中缺少變量,應按例的方法補齊)。
  2. 畫出最小項表達式對應的卡諾圖。
  3. 將卡諾圖中的1格畫圈,一個也不能漏圈,否則最後得到的表達式就會與所給函數不等;1格允許被一個以上的圈所包圍。
  4. 圈的個數應儘可能得少。即在保證1格一個也不漏圈的前提下,圈的個數越少越好。因爲一個圈和一個與項相對應,圈數越少,與或表達式的與項就越少。
  5. 按照2k個方格來組合(即圈內的1格數必須爲1248等),圈的面積越大越好。因爲圈越大,可消去的變量就越多,與項中的變量就越少。
  6. 每個圈應至少包含一個新的1格,否則這個圈是多餘的。
  7. 用卡諾圖化簡所得到的最簡與或式不是唯一的。

帶着這7點來看

例3:用卡諾圖化簡以下表達式


:  從表達式中可以看出此爲四變量的邏輯函數,但是有的乘積項中缺少一個變量,不符合最小項的規定。因此,每個乘積項中都要將缺少的變量補上:

因此,獲得整個表達式如下:

這裏演示了剛纔提示的(1)點,最小項缺少變量補齊。

例2:

錯誤 (多畫一個圈)


正確

例3:

錯誤(圈的面積不夠大)


正確

例4:

錯誤(圈的面積不夠大)


 

例5:

錯誤(有一個圈無新的1格)


 

到此爲止,已經學會了如何利用卡諾圖化簡法來化簡函數。

4.總結

  • 邏輯函數的化簡有公式法和卡諾圖化簡法等。
  • 公式法是利用邏輯代數的公式和規則(定理)來對邏輯函數化簡,這種方法適用於各種複雜的邏輯函數,但需要熟練地運用公式和規則(定理),且具有一定的運用技巧。
  • 卡諾圖化簡法簡單直觀,容易掌握,但變量太多時卡諾圖太複雜,一般說來變量個數大於等於5時該法已不適用。
  • 在對邏輯函數化簡時,充分利用無關項可以得到更爲簡單的結果。(有關無關項的知識點,在此文章沒有提及。自己查找相關學習吧)

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章