數位電子技術中的六變數卡諾圖



閱讀本章,瞭解如何使用卡諾圖 (Karnaugh Map) 簡化六變數布林函式。讓我們從簡要介紹卡諾圖 (K-Map) 開始。

卡諾圖 (K-Map)

卡諾圖K-Map是一種將布林函式簡化為最小形式的圖形方法。卡諾圖可以定義為一個圖表或圖形,它由相鄰的方格或單元格組成,每個單元格代表布林表示式變數的特定組合,以和式或積式形式表示。一個典型的二變數卡諾圖如圖1所示。

Two variable K-map

在實際應用中,我們通常使用最多6個變數的卡諾圖。但是,卡諾圖可以用於任意數量的變數,但對於5個或更多變數,它會變得繁瑣。

現在,讓我們討論六變數卡諾圖及其用於將布林函式簡化為最小形式的應用。

六變數卡諾圖

六變數卡諾圖用於簡化六個變數(例如A、B、C、D、E、F)的布林表示式。它有64 (26) 個相鄰單元格或方格。其中,每個單元格代表函式的變數組合。

對於SOP形式的6變數布林函式,輸入變數的可能組合如下:

$$\mathrm{\bar{A}\bar{B}\bar{C}\bar{D}\bar{E}\bar{F}, \: \bar{A}\bar{B}\bar{C}\bar{D}\bar{E}F, \: \bar{A}\bar{B}\bar{C}\bar{D}E\bar{F}, \: \dots \: ABCDEF}$$

這些變數組合的最小項表示分別為m0、m1、m2 … m63

類似地,對於POS形式的6變數布林函式,輸入變數的可能組合如下:

$$\mathrm{\left ( A \: + \: B \: + \: C \: + \: D \: + \: E \: + \: F \right ), \: \left ( A \: + \: B \: + \: C \: + \: D \: + \: E \: + \: \bar{F} \right ), \: \left ( A \: + \: B \: + \: C \: + \: D \: + \: \bar{E} \: + \: F \right ), \: \dots \: \left ( \bar{A} \: + \: \bar{B} \: + \: \bar{C} \: + \: \bar{D} \: + \: \bar{E} \: + \: \bar{F} \right )}$$

這些變數組合的最大項表示分別為M0、M1、M2、... M63

如前所述,六變數卡諾圖有64個單元格,它們被分成4個16個方格的塊。卡諾圖上的每個單元格代表一個最小項或最大項。對於6變數卡諾圖,變數A和B的值在每個16個方格的塊中對所有最小項(或最大項)保持不變。

六變數卡諾圖的64個單元格分為4個塊,如下所示:

塊1 - 這是左上角的塊。此塊代表最小項m0到m15(或最大項M0到M15)。在此塊中,變數A為0,變數B也為0。

塊2 - 這是右上角的塊。此塊代表最小項m16到m31(或最大項M16到M31)。在此塊中,變數A為0,變數B為1。

塊3 - 這是左下角的塊。此塊代表最小項m32到m47(或最大項M32到M47)。在此塊中,變數A為1,變數B為0。

塊4 - 這是右下角的塊。此塊代表最小項m48到m63(或最大項M48到M63)。在此塊中,變數A為1,變數B也為1。

在簡化過程中,6變數卡諾圖可能包含2個方格、4個方格、8個方格、16個方格、32個方格或64個方格,這涉及卡諾圖的所有四個塊。

在六變數卡諾圖中,當一個塊疊加在另一個塊的頂部,該塊位於第一個塊的上方、下方或旁邊,並且方格相互重合時。則認為這兩個塊中的方格相鄰。同樣重要的是要注意,對角線元素,例如m10和m58、m15和m63、m18和m34、m29和m45,彼此不相鄰。

圖2顯示了六變數SOP卡諾圖。

Six Variable SOP K-map

圖3顯示了六變數POS卡諾圖。

Six Variable POS K-map

現在,讓我們瞭解如何利用六變數卡諾圖透過已解決的數值示例來最小化六變數布林函式。

示例1

使用卡諾圖最小化以下6變數布林函式。

$$f = \sum m(1, 3, 4, 5, 6, 9, 11, 12, 14, 15, 17, 19, 20, 21, 22, 23, 25, 27, 28, 30, 33, 35, 36, 38, 41, 43, 44, 46, 49, 51, 52, 54, 57, 59, 60, 62)$$

解答

給定布林函式的6變數SOP卡諾圖表示如圖4所示。

Six variable Boolean function using K-map

此函式的化簡按照以下步驟進行:

卡諾圖中沒有孤立的1。

最小項m1與最小項m3、m9、m11、m17、m19、m25、m27、m33、m35、m41、m43、m49、m51、m57和m59構成一個16方格。將其合併,讀作:

$$ \bar{D}F $$

最小項m4與最小項m6、m12、m14、m20、m22、m28、m30、m36、m38、m44、m46、m52、m54、m60和m62構成一個16方格。將其合併,讀作:

$$ \bar{F}D $$

最小項m5可以與最小項m4、m20和m21構成一個4方格,或者與m1、m17和m21構成一個4方格。我們將選擇與最小項m4、m20和m21構成4方格,讀作:

$$ \bar{A}\bar{C}D\bar{E} $$

最小項m21與最小項m17、m19和m23構成一個4方格。將其合併,讀作:

$$ \bar{A}B\bar{C}F $$

最小項m15可以與最小項m11或m14構成一個2方格。我們將選擇與m14構成2方格,讀作:

$$ \bar{A}\bar{B}CDE $$

將所有積項寫成SOP形式。

因此,最簡SOP表示式為:

$$ f(A,B,C,D,E,F) = \bar{D}F + D\bar{F} + \bar{A}\bar{C}D\bar{E} + \bar{A}B\bar{C}F + \bar{A}\bar{B}CDE $$

例2

使用卡諾圖化簡以下六變數布林函式。

$$ f = \Pi M(0, 2, 7, 8, 10, 13, 16, 18, 24, 26, 29, 31, 32, 34, 37, 39, 40, 42, 45, 47, 48, 50, 53, 55, 56, 58, 61, 63) $$

解答

給定布林函式的6變數POS卡諾圖表示如圖5所示。

Six Variable POS K-map Boolean Function

此函式的化簡按照以下步驟進行:

卡諾圖中沒有孤立的0。

最大項M0與最大項M2、M8、M10、M16、M18、M24、M26、M32、M34、M40、M42、M48、M50、M56、M58構成一個16方格。將其合併,讀作:

$$ (D + F) $$

最大項M37與最大項M39、M45、M47、M53、M55、M61和M63構成一個8方格。將其合併,讀作:

$$ (\bar{A} + \bar{D} + \bar{F}) $$

最大項M13與最大項M29、M45和M61構成一個4方格。將其合併,讀作:

$$ (\bar{C} + \bar{D} + E + \bar{F}) $$

最大項M31與M29、M61和M63構成一個4方格。將其合併,讀作:

$$ (\bar{B} + \bar{C} + \bar{D} + \bar{F}) $$

最大項M7與最大項M39構成一個2方格。將其合併,讀作:

$$ (B + C + E + \bar{D} + \bar{E} + \bar{F}) $$

將所有和項寫成POS形式。

因此,給定布林函式的最簡POS表示式為:

$$ f(A,B,C,D,E,F) = (D + F)(\bar{A} + \bar{D} + \bar{F})(\bar{C} + \bar{D} + E + \bar{F})(\bar{B} + \bar{C} + \bar{D} + \bar{F})(B + C + E + \bar{D} + \bar{E} + \bar{F}) $$

這就是關於六變數卡諾圖及其在布林函式化簡中的應用的全部內容。嘗試解決以下練習題,以精通六變數卡諾圖及其在化簡布林表示式中的應用。

卡諾圖數值題

問1 - 使用卡諾圖以SOP形式化簡以下六變數布林函式。

$$ f(A,B,C,D,E,F) = \sum m(1, 3, 5, 7, 9, 10, 11, 12, 14, 16, 17, 19, 20, 22, 24, 25, 26, 31, 32, 34, 36, 37, 39, 40, 42, 45, 49, 50, 53, 54, 57, 60, 61, 63) $$

問2 - 使用卡諾圖以POS形式化簡以下六變數布林函式。

$$ f(A,B,C,D,E,F) = \Pi M(0, 1, 3, 4, 5, 6, 8, 9, 10, 12, 14, 15, 17, 20, 21, 22, 25, 26, 27, 29, 30, 32, 33, 35, 36, 37, 39, 40, 41, 42, 45, 47, 48, 50, 52, 53, 55, 56, 58, 59, 60, 62) $$

廣告