數位電子技術 - 卡諾圖化簡



什麼是卡諾圖?

在數字電子系統實現中,布林表示式的化簡是最關鍵的步驟之一,因為它可以降低硬體複雜度和生產成本。有多種工具和方法可用於化簡複雜的布林表示式。卡諾圖(K-Map)就是其中一種化簡方法。卡諾圖由Maurice Karnaugh於1953年開發。它是一種用於化簡布林表示式的視覺化或圖形化方法。

當布林表示式中的變數數小於或等於四個時,卡諾圖是最有效的化簡工具之一。但是,對於五個、六個或更多變數,卡諾圖就變得相當困難。

卡諾圖使用二維表來化簡布林函式。這個表的尺寸隨著布林函式中變數數量的增加而大幅增加。

圖1顯示了二變數、三變數和四變數卡諾圖的一些典型示例。

Digital Electronics K-map Minimization

從圖1可以看出,卡諾圖中方格或單元格的數量取決於表示式中變數的數量。

如果給定布林函式中有n個變數,則相應的卡諾圖將有2n個方格或單元格。例如,如果布林函式中的變數數為3,則相應的卡諾圖將有8(= 23)個單元格。

卡諾圖的結構

所有卡諾圖都具有如圖1所示的類似通用結構。典型的卡諾圖有一個包含某些單元格的表格。在這個表格的左上角,一組變量表示為A、B、C、D。這些變數基本上是需要化簡的邏輯表示式中涉及的輸入變數。

這些輸入變數的二進位制值沿著它們各自的邊表示,即表格的頂部和左側。

從上面的例子可以看出,卡諾圖頂部和左側的二進位制數不是正常的二進位制順序,而是格雷碼。使用格雷碼是為了確保兩個物理相鄰的單元格實際上是相鄰的。這使得在布林表示式化簡期間更容易進行分組。

為了方便閱讀卡諾圖,卡諾圖的每個單元格都分配了一個十進位制數,該數表示在單元格的右下角。例如,在三變數卡諾圖(圖1)中,卡諾圖的第二個單元格表示位模式001,因此該單元格由其十進位制等效值1表示。

卡諾圖化簡

卡諾圖化簡的過程是從將變數的值(以SOP(積之和)形式或POS(和之積)形式)輸入到正確的卡諾圖單元格開始的。之後,我們需要對最大數量的1(對於SOP形式)或最大數量的0(對於POS形式)進行分組。這些組中的每一個都必須是2的冪,並且必須只能按遞減順序進行。

分組完成後,每個組都必須用與相關的行和列對應的輸入變數組合來表示。最後,所有組合都表示布林函式的輸出表達式。

卡諾圖的優點

以下是卡諾圖的重要優點:

  • 為了化簡布林表示式,卡諾圖不需要布林代數定理的知識。
  • 與其他化簡技術相比,卡諾圖在邏輯表示式的化簡過程中涉及的步驟較少。

卡諾圖的侷限性

以下是卡諾圖的主要侷限性:

  • 卡諾圖最重要的侷限性在於,它只在布林表示式變數數較少時才有效。當邏輯表示式中的變數數較多時,它就會變得相當複雜。
  • 使用卡諾圖化簡具有五個或更多變數的布林函式相當複雜。
  • 使用卡諾圖很難得到超過5個變數的正確方程。

結論

卡諾圖是用於化簡最多4個變數的布林表示式的有效工具。它是一種易於化簡邏輯表示式的簡便方法,因為它不使用布林代數定理。卡諾圖的另一個優點是它是一種視覺化的化簡方法。但是,當邏輯表示式中的變數等於或大於5時,卡諾圖就會變得複雜且效率低下。

廣告
© . All rights reserved.