主題
Search

卡諾圖


在組合邏輯最小化中,一種稱為卡諾圖的工具經常被使用。它類似於真值表,但是不同的變數沿著兩個軸表示,並且以這樣的方式排列:從一個方格移動到相鄰方格時,只有一個輸入位發生變化。它也被稱為 Veitch 圖、K 圖或 KV 圖。

卡諾圖可用於快速消除布林函式中的冗餘操作。最容易閱讀的卡諾圖是為完全積或“積之和”形式的函式繪製的圖,其中後一個名稱也暗示了 ANDOR 運算子的使用。在這種函式的典型真值表中,輸入使用 0 表示假,1 表示真來列舉,並在作為正二進位制整數讀取時按計數序列排序。下面說明了四個變數的函式的真值表。

x_1x_2x_3x_4f
00000
00010
00101x^__1x^__2x_3x^__4
00111x^__1x^__2x_3x_4
01000
01010
01101x^__1x_2x_3x^__4
01111x^__1x_2x_3x_4
10001x_1x^__2x^__3x^__4
10010
10100
10110
11001x_1x_2x^__3x^__4
11011x_1x_2x^__3x_4
11100
11110

對於表中函式值為 1(真)的行,顯示了一個稱為最小項的邏輯表示式。最小項使用上劃線符號表示 NOT。當所有七個最小項累積時,

 f(x_1,x_2,x_3,x_4)=x^__1x^__2x_3x^__4+x^__1x^__2x_3x_4+x^__1x_2x_3x^__4+x^__1x_2x_3x_4+x_1x^__2x^__3x^__4+x_1x_2x^__3x^__4+x_1x_2x^__3x_4,
(1)

該函式得以實現。這種實現不是最優的,可以使用卡諾圖來簡化它。

KarnaughMap

上面顯示了該函式的卡諾圖。它是真值表的二維佈局。每個維度跨越一對相鄰的(但不一定是如此的)變數。變數的序列不是計數序列,而是格雷碼,因此在每對相鄰單元格(在行或列中)之間,只有一個變數改變狀態。

在地圖上,函式值為 1 的相鄰單元格用環分組在一起。每個環代表可以簡化的最小項。環內變化的變數可以被消除。使用最上面的表示式作為示例,可以代數地證明其有效性。

x_1·x_2·x^__3·x^__4+x_1·x^__2·x^__3·x^__4=x_2·(x_1·x^__3·x^__4)+x^__2·(x_1·x^__3·x^__4)
(2)
=(x_2+x^__2)·(x_1·x^__3·x^__4)
(3)
=x_1·x^__3·x^__4.
(4)
Karnaugh map on a torus

環也可以繪製成環繞行和/或列,因為卡諾圖(最多四個變數)實際上是環面的表面。

類似於上面示例的卡諾圖也可以類似地為兩個(退化)或三個變數繪製。它們可以用於超過四個變數(例如,透過疊加兩個四變數圖來處理五個變數),但是視覺化變得比代數更繁瑣。

還有其他基於卡諾圖的邏輯設計和最小化方法,例如使用 NAND 運算子代替 ANDOR


另請參閱

布林函式, 真值表

本條目的部分內容由 Stuart Wilson 貢獻

使用 探索

參考文獻

Booth, T. 數字網路與計算機系統. New York: Wiley, pp. 64 and 125-136, 1971.Muroga, S. 邏輯設計與開關理論. New York: Wiley, pp. 87-90 and 281-297, 1979.

在 中引用

卡諾圖

引用為

Weisstein, Eric W.Wilson, Stuart。“卡諾圖”。來自 ——Wolfram 網路資源。 https://mathworld.tw/KarnaughMap.html

主題分類