利用卡諾圖化簡邏輯函數(shù)的方法稱為卡諾圖化簡法或圖形化簡法。化簡時依據(jù)的基本原理就是具有相鄰性的最小項可以合并,并消去不同的因子。由于在卡諾圖上幾何位置相鄰與邏輯上的相鄰性是一致的,因而從卡諾圖上能直觀地找出那些具有相鄰性的最小項并將其合并化簡。
1.合并最小項的規(guī)則
(1) 若兩個最小項相鄰,則可合并為一項并消去一對因子。合并后的結(jié)果中只剩下公共因子。
(2)若四個最小項相鄰并排列成一個矩形組,則可合并為一項并消去兩對因子。合并后的結(jié)果中只包含公共因子。
(3)若八個最小項相鄰并且排列成一個矩形組,則可合并為一項并消去三對因子。合并后的結(jié)果中只包含公共因子。
l下圖給出了最小項相鄰的幾種情況
最小項相鄰的幾種情況圖
(a)(b) 兩個最小項相鄰 (c)(d) 四個最小項相鄰 (e) 八個最小項相鄰
至此,可以歸納出合并最小項的一般規(guī)則:如果有 個最小項相鄰(n=1,2,…)并排列成一個矩形組,則它們可以合并為一項,并消去n 對因子。合并后的結(jié)果中僅包含這些最小項的公共因子。
2. 卡諾圖化簡法的步驟
用卡諾圖化簡邏輯函數(shù)時可按如下步驟進行:
(1)將函數(shù)化為最小項之和的形式。
(2)畫出表示該邏輯函數(shù)的卡諾圖。
(3)找出可以合并的最小項。
(4)選取化簡后的乘積項。選取的原則:
n 這些乘積項應(yīng)包含函數(shù)式中所有的最小項(應(yīng)覆蓋卡諾圖中所以的1)
n 所用的乘積項數(shù)目最少,即可合并的最小項組成的矩形組數(shù)目最少
n 每個乘積項包含因子最少,即各可合并的最小項矩形組中應(yīng)包含盡量多的最小項
例1:用卡諾圖化簡法將式 化簡為最簡與—或函數(shù)式
解:首先畫出表示函數(shù)y的卡諾圖,如圖
通過合并最小項,得出結(jié)果,
左圖:
右圖:
注:
l 在填寫y的卡諾圖時,并不一定要將y化為最小項之和的形式。
l 需要找出可以何并的最小項,將可能合并的最小項用線圈出,有時存在多種可能合并最小項的方案,所以有時一個邏輯函數(shù)的化簡結(jié)果不是唯一的。
例2:用卡諾圖法將 化為最簡與—或邏輯式
解:首先畫出y的卡諾圖,然后把可能合并的最小項圈出,并按照前面所述的原則選擇化簡與—或式中的乘積項
最后得到結(jié)果
l 補充說明:在以上的兩個例子中,我們都是通過合并卡諾圖中的1來求得化簡結(jié)果的。
但有時也可以通過合并卡諾圖中的0先求出 的化簡結(jié)果,然后再將 求反得到y(tǒng)。夫妻其原理是因為全部最小項之和為1,所以若將全部最小項之和分成兩部分,一部分(卡諾圖中填入1的那些最小項)之和記作y,則根據(jù) 可知,其余一部分(卡諾圖中填入0的那些最小項)之和必為 。在多變量邏輯函數(shù)的卡諾圖中,當0的數(shù)目遠小于1的數(shù)目時,采用合并0的方法有時會比合并1來得簡單。仍以上例為例,在卡諾圖中如果將0合并,則可立即寫出 ,則
與合并1得到的化簡結(jié)果一致。
此外,在需要將函數(shù)化為最簡的與或非式時,采用合并0的方式最為適宜,因為得到的結(jié)果正是與或非形式。如果要求得到 的化簡結(jié)果,則采用合并0的方式就更簡便了。