卡諾圖是邏輯函數的一種圖形表示。一個邏輯函數的卡諾圖就是將此函數的最小項表達式中的各最小項相應地填入一個方格圖內,此方格圖稱為卡諾圖。 卡諾圖的構造特點使卡諾圖具有一個重要性質:可以從圖形上直觀地找出相鄰最小項。兩個相鄰最小項可以合并為一個與項并消去一個變量。
卡諾圖 (Karnaugh map)
卡諾圖是邏輯函數的一種圖形表示。一個邏輯函數的卡諾圖就是將此函數的最小項表達式中的各最小項相應地填入一個方格圖內,此方格圖稱為卡諾圖。
卡諾圖的構造特點使卡諾圖具有一個重要性質:可以從圖形上直觀地找出相鄰最小項。兩個相鄰最小項可以合并為一個與項并消去一個變量。
用卡諾圖化簡邏輯函數的基本原理就是把上述邏輯依據和圖形特征結合起來,通過把卡諾圖上表征相鄰最小項的相鄰小方格“圈”在一起進行合并,達到用一個簡單“與”項代替若干最小項的目的。
在數字電路中經常使用。
缺點:當變量的數目超過6時.畫圖就變得復雜了,也不容易計算.........
用卡諾圖簡化邏輯函數
邏輯函數未用最小項表示照樣可以化簡。如果F采用與—或表達式,在填入卡諾圖過程中就能把函數展開成最小項。
具有無關項的化簡
無關項又叫任意項,是一種最小項,其值可以取0或1。利用無關項這一特點,可以使函數簡化。
用卡諾圖化簡邏輯函數的步驟
如果表達式為最小項表達式,則可直接填入卡諾圖
如表達式不是最小項表達式,但是“與—或表達式”,可將其先化成最小項表達式,再填入卡諾圖。也可直接填入。
合并相鄰的最小項,即根據下述原則畫圈
盡量畫大圈,但每個圈內只能含有2n(n=0,1,2,3……)個相鄰項。要特別注意對邊相鄰性和四角相鄰性。
圈的個數盡量少。
卡諾圖中所有取值為1的方格均要被圈過,即不能漏下取值為1的最小項。
在新畫的包圍圈中至少要含有1個末被圈過的1方格,否則該包圍圈是多余的。
寫出化簡后的表達式。每一個圈寫一個最簡與項,規則是,取值為1的變量用原變量表示,取值為0的變量用反變量表示,將這些變量相與。然后將所有與項進行邏輯加,即得最簡與—或表達式。
在進行化簡時,如果用圖中真值為0的項更方便,可以用他們來處理,方法和真值取1時一樣,只是結果要再做一次求反。
變量卡諾圖
表示各最小項的2^n(n-變量數)個小格,排列呈矩形。
小格按“循環碼” 排列,保證最小項間“幾何相鄰”與“邏輯相鄰性”的統一。(幾何相鄰有“內相鄰” “外相鄰”和“中心對稱”)
變量卡諾圖