5. カルノー図による論理式の簡単化
カルノー図は、論理回路や論理関数を視覚的に表現するための図形ツールである。主に2進数変数を持つ論理関数を簡単化するために用いられる。カルノー図は、真理値表から得られる情報を整理し、最適な論理回路の設計や単純化に役立つ。
カルノー図の基本的な特徴と使用法を以下に示す。
サイズと配置:カルノー図は、入力変数がn個の場合、2^n個のセルを持つ正方形の格子状の図となる。各セルは、入力変数の可能な組み合わせ(最小項)に対応している。
セルの値:各セルには、論理関数の出力に対応する真理値を表示する。
グルーピング:隣り合ったセルをまとめてグループに分け、特定の条件を満たす最小項の集合を表現する。グループは2の冪数 2^n \;\;\;(n=0,1,2,\cdots) として表現され、できるだけ大きなグループを作ることが目標となる。
論理関数の単純化:カルノー図上でグルーピングされた領域において、その領域内のセルに対応する最小項を論理和(OR)で結合することで、論理関数を単純化することが可能となる。
以上により、最小な論理ゲートの組み合わせで関数を実現することができる。
カルノー図は、論理関数の視覚的な理解と単純化に有効であるが、入力変数が多いと図示が難しくなるため、実用的に使うというより、論理関数の視覚的な理解に使用される。
カルノー図の作成
図1は、論理変数がAだけの場合のカルノー図である。
図2は、論理変数がA,\;Bの2種類の場合のカルノー図で、各セルが主加法標準形の最小項となる。
表1の真理値表をこの図2に適用すると図3のように表せる。
A | B | Z | 最小項 |
0 | 0 | 1 | \overline{A} \cdot \overline{B} |
0 | 1 | 0 | |
1 | 0 | 0 | |
1 | 1 | 1 | A \cdot B |
図3のカルノー図より、図2を参照して、出力Zが1となるセルの最小項の論理和をとることで、Z=f(A,B)=\overline{A} \cdot \overline{B} + A \cdot Bとして、論理関数f(A,B)が求まる。
図4は、論理変数がA,\; B, \; Cの3種類の場合のカルノー図で、各セルが主加法標準形の最小項となる。




論理式の簡単化
図5のカルノー図を考える。この図の最小項の論理和は、Z = A \cdot \overline{B} + A \cdot Bとなる。ここで、赤線で囲ったように隣のセルをまとめることができる。この赤線で囲まれたところはAだけで決まるので、Z=A \cdot \overline{B} + A \cdot B=Aである。論理式の整理で示すと、Z=A \cdot \overline{B} + A \cdot B = A \cdot (\overline{B} + B) = Aである。
図6は、変数がA, \; B, \; C, \; Dの 4種類の場合のカルノー図の例である。簡単化は以下の手順で行う。
・以下を原則として、図の中の全ての1を出来るだけ少ない長方形で囲むようにする。
1)長方形の中は全て1であること。
2)長方形の中の1の数は2^nであること。
3)同じセルを2つ以上の長方形で共有しても良い。
4)カルノー図の上下端、左右端は連続していると考える。


図6の最小項の論理和で論理関数を求めると、Z=f(A,B,C,D)\\ = \overline{A} \cdot B \cdot \overline{C} \cdot \overline{D} + \overline{A} \cdot B \cdot \overline{C} \cdot D + \overline{A} \cdot B \cdot C \cdot D + A \cdot B \cdot \overline{C} \cdot D + A \cdot B \cdot C \cdot D + A \cdot \overline{B} \cdot C \cdot Dとなる。
カルノー図から、論理関数を作るには、長方形の各ループから共通変数を取り出した論理積を作り、その論理和をとる。図6では、青ループは、\overline{A}\cdot B \cdot \overline{C}、緑ループは、A \cdot C \cdot D、赤ループは、B \cdot Dとなっている。従って、論理関数は、Z = f(A,B,C,D) = \overline{A}\cdot B \cdot \overline{C} + A \cdot C \cdot D + B \cdot Dとなる。これは、最小項の論理和で求めた論理関数が簡単化されている。
次の論理関数を簡単化する。Z = f(A,B,C,D) = A \cdot \overline{B} \cdot \overline{C} \cdot \overline{D} + \overline{A} \cdot \overline{B} \cdot \overline{C} + A \cdot \overline{B} \cdot D + \overline{A} \cdot C + \overline{A} \cdot B \cdot \overline{C} \cdot D + A \cdot B \cdot C \cdot D この式からカルノー図を描くと図7のようになる。
図7より、青ループは、C \cdot D、緑ループは、\overline{B} \cdot \overline{C}、赤ループは、\overline{A} \cdot \overline{D}となっている。従って、理関数は、Z = f(A,B,C,D) = C \cdot D + \overline{B} \cdot \overline{C} + \overline{A} \cdot \overline{D}となる。なお、緑ループの上端と下端、赤ループの左端と右端はループが繋がっている。
