卡諾圖化簡邏輯函數方法
在卡諾圖中,相鄰的最小項在邏輯上也是相鄰的。邏輯相鄰的意思是,這兩個最小項除了一個變數的形式不同為互反變數外,其他都是相同的。因此,這些相鄰的最小項可以合併成一個與項,並消去其中的互反變數。
①哪些方格相鄰
在卡諾圖中,相鄰有三種情況:
相連:二個小方格互相緊挨著,不管從那個方向,上下或左右;
相對:任一行或一列的兩頭的小方格;
相重:對折起來位置重合的小方格。
②合併的原則
凡是相鄰的最小項均可以合併,那麼合併如何進行,合併的結果又如何呢?
(1)二個最小項合併,消去一個互反變量,保留公共變數;
(2)四個最小項合併,消去二個互反變量,保留公共變數;
(3)八個最小項合併,消去三個互反變量,保留公共變數。
一般地說,2^n個最小項合併,可以消去n個變數。當卡諾圖中全部最小項均為「1」時,整個卡諾圖就是一個大的相鄰區域,可消去全部n個互反變量,使函數值恆為「1」。
畫圈應遵循以下原則:
(1)取大不取小,圈越大,消去的變數越多,與項越簡單,能畫入大圈就不畫入小圈;
(2)圈數越少,化簡後的與項就越少;
(3)一個最小項可以重複使用,即只要需要,一個方格可以同時被多圈所圈;
(4)一個圈中的小方格至少有一個小方格不為其它圈所圈;
(5)畫圈必須覆蓋完每一個填「1」方格為止。
將每個圈中互反變量消去,保留公共變量,所得對應的與項再邏輯「或」起來,得到最簡與或表達式。
利用卡諾圖化簡邏輯函數的步驟如下:
第一步:將邏輯函數轉換為最小項總和的形式
第二步:畫出表示該邏輯函數的卡諾圖
第三步:找出可以合併的最小項並畫出合併圈
第四步:寫出最簡的與-或表達式
在利用卡諾圖化簡邏輯函數時,關鍵在於畫合併圈。合併圈畫得不同,邏輯函數的表達式也不相同。因此畫合併圈時應注意以下幾點:
①首先要找出孤立的1方格並畫圈。
②合併圈的範圍越大越好,但必須包含(i=0,1,2,3…)個1方格,這樣能消去的變數就越多。
③合併圈的個數越少越好,因為合併圈的個數與化簡結果中乘積項的個數相對應,圈數越少意味著與-或表達式中與項越少。
④每個合併圈中至少要包含一個其它合併圈中沒有包含的1方格,這樣才能保證這個合併圈不是多餘的。
⑤卡諾圖中所有的1格至少要圈一次,不能有漏畫的1格。
這樣,把每個合併圈相對應的與項「加」起來,就得到最簡的與-或表達式。
同理的方法,只要合併圈改為針對卡諾圖中的0方格進行,找出可合併的最大項,就可得到邏輯函數的最簡或-與表達式。
合併最大項的規律與合併最小項的規律基本一致。不同之處在於,合併最大項時必須找出0方格的鄰近性。每個合併圈可由(i=0,1,2,3…)個0方格構成,每個合併圈對應於一個或項,該或項由圈內取值不變的變數相或來構成,其中取值為0的對應原變量,取值為1的對應反變量。然後將每個合併圈對應的或項進行相與,便得到最簡的或-與表達式
以上是卡若圖分析邏輯函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!