論理式の簡略化:カルノー図とベイチ図

真理値表などから作成した論理式は、簡略化できる場合があります。言い方を変えると、論理式で表される入力と出力の関係を、もっと少ない論理ゲートで表現できる場合があります。このような論理式の簡略化(論理圧縮)で利用されるのがカルノー図やベイチ図です。
論理式を簡略化することで、使用する論理ゲートを最小限にすることができます。使用する論理ゲートを減らすことができると、それを内蔵するICの物理的な大きさを小さくできる可能性があります。また、それによって、そのICを実装した機器の物理的な大きさを小さくできる可能性があります。

次の3変数の論理式に対応するカルノー図とベイチ図を考えてみます。

$$ Z = \overline{A} \ \overline{B} \ \overline{C} + \overline{A} \ \overline{B} C + AB\overline{C} + A \overline{B} \ \overline{C} + A\overline{B}C $$

真理値表
A B C Z
0 0 0 1
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 0

まず、カルノー図です。カルノー図は、行と列に入力変数を振り分けた表です。真理値表を行と列の2次元に変形したと考えることもできます。ここでは、行方向に変数AとBを、列方向に変数Cを割り当てています。行と列の数は、それぞれに振り分けた変数の組み合わせの数になります。カルノー図では、表の行と列に変数値の見出しを書きます。このような表を作成し、各セルに対応した真理値表の出力(Z)の値を書き込みます。

カルノー図の例

カルノー図の例

ベイチ図もカルノー図と考え方は同じです。違う点は、変数と数字の書き方だけです。ベイチ図では、行と列の見出しは、割り当てた変数が1の部分だけに書きます。また、表に書き込む値は1の部分だけです。何も書かれていない部分が0を表します。

ベイチ図の例

ベイチ図の例

コラム

論理設計をHDL記述と論理合成ツールで行う場合は、論理を最適化しないで、人間が読みやすく、抽象度の高い記述の方が結果的に良い論理回路が生成される場合があります。
LS標準ロジックなどを組み合わせて論理設計を行う場合には、カルノー図やベイチ図を使った論理圧縮が有効かもしれません。

スポンサーリンク
スポンサーリンク
スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
スポンサーリンク