關于卡諾圖化簡的個人方法
卡諾圖
卡諾圖(Karnaugh map)是真值表的變形,它可以將有n個變量的邏輯函數的2n個最小項組織在給定的長方形表格中,同時為相鄰最小項(相鄰與項)運用鄰接律化簡提供了直觀的圖形工具
在數字電路中,對邏輯值的化簡常常要用到卡諾圖,而卡諾圖的化簡也常常困擾初學者
官方的化簡辦法
選自維基百科(卡諾圖):
- 如果表達式為最小項表達式,則可直接填入卡諾圖
- 如表達式不是最小項表達式,但是“與—或表達式”,可將其先化成最小項表達式,再填入卡諾圖。也可直接填入。
- 合并相鄰的最小項,即根據下述原則畫圈
- 盡量畫大圈,但每個圈內只能含有2n個相鄰項。要特別注意對邊相鄰性和四角相鄰性。
- 圈的個數盡量少。
- 卡諾圖中所有取值為1的方格均要被圈過,即不能漏下取值為1的最小項。
- 在新畫的包圍圈中至少要含有1個未被圈過的1方格,否則該包圍圈是多余的。
- 寫出化簡后的表達式。每一個圈寫一個最簡與項,規則是,取值為l的變量用原變量表示,取值為0的變量用反變量表示,將這些變量相與。然后將所有與項進行邏輯加,即得最簡與—或表達式。
在進行化簡時,如果用圖中真值為0的項更方便,可以用他們來處理,方法和真值取1時一樣,只是結果要再做一次求反。
個人覺得比較復雜,而且自己畫圈常常出錯
小技巧(正文開始)
我們可以用和畫圈類似的辦法去完成化簡的任務
| CD\AB | 00 | 01 | 11 | 10 |
|---|---|---|---|---|
| 00 | 1 | 1 | 0 | 1 |
| 01 | 0 | 1 | 0 | 1 |
| 11 | 1 | 1 | 1 | 1 |
| 10 | 0 | 0 | 1 | 1 |
對于這樣一個卡諾圖,我們的化簡可以這樣做:
- 首先選中一列或一行,比如說我們選中第四列;
- 然后選中第一步選中列或行中真值為1的行或列,第四列全部為1,所以我們都選上
- 寫出該部分的邏輯表達式
- 重復選擇,直到所有的真值都被選擇
該例子:
- 選擇第四列
- 選擇第三行
- 選擇第二列和第123行
- 選擇第一列和第一行
- 選擇第三列和第四行

浙公網安備 33010602011771號