「論理演算の定理」を適用して、同じ機能を持つ回路を“もっと少ないゲートで構成する方法”について詳しく解説します。
前回の宿題【問題9】は、「多数決回路」をできるだけ少ないゲートで作成するという問題でした。
皆さん解けましたでしょうか?
解けた方も解けなかった方も答え合わせをして、次項の解説までぜひ読んでみてください。毎週コツコツ問題を解いて、デジタル回路の基礎知識を身に付けましょう。
それでは、解答を発表します!
最初に、【問題7】の解説で説明した真理値表から論理式を導く方法を用いて、【問題9】のデジタル回路を作ってみましょう。
真理値表の出力が“1”の行に注目して、次のように論理式を求めます。
X = A ・ B ・ C + A ・ B ・ C + A ・ B ・ C + A ・ B ・ C
この論理式を回路にすると図1のようになります。
【問題9】では「同じ機能を持つ回路を、もっと少ないゲートで構成できないか?」を問うています。そこで、中学校で習う「式の変形」のように論理式を変形し、同じ応答をするより簡単な論理式を求めてみましょう。
論理式の変形は、次のような「論理演算の定理」を適用して行います。
二重否定すると、その値は元に戻ります。
=
A = A
値自体を論理和(あるいは論理積)しても結果は同じになります。
A + A = A A ・ A = A
ある論理変数とそれを否定したものの論理和は“1(真)”になり、ある論理変数とそれを否定したものの論理積は“0(偽)”になります。
A + A = 1 A ・ A = 0
論理和と論理積には、次のような性質があります。
A + 0 = A A ・ 0 = 0
A + 1 = 1 A ・ 1 = A
論理和と論理積の左辺と右辺を入れ替えても結果は同じです。
A + B = B + A A ・ B = B ・ A
論理和と論理積は、演算を評価する順番にかかわらず同じ結果になります。
(A + B) + C = A + (B + C) (A ・ B) ・ C = A ・ (B ・ C)
論理和は論理積に対して分配的であり、論理積は論理和に対して分配的です。
A + (B ・ C) = (A + B) ・ (A + C) A ・ (B + C) = (A ・ B) + (A ・ C)
論理式が積の和の形で表され、すべての因数となる項を含むとき、その項に式を省略することができます。論理式が和の積の形で表される場合も同様です。
A + (A ・ B) = A A ・ (A + B) = A
ド・モルガンの法則により、論理和を論理積に、論理積を論理和に変換できます。
A + B = A ・ B A ・ B = A + B
それでは、これらの論理演算の定理を適用して、先に求めた「多数決回路」の論理式を簡単にしてみましょう。
X = A ・ B ・ C + A ・ B ・ C + A ・ B ・ C + A ・ B ・ C
は「冪等の法則」により、
X = (A ・ B ・ C + A ・ B ・ C) + (A ・ B ・ C + A ・ B ・ C) + (A ・ B ・ C + A ・ B ・ C)
と展開できます。
さらに、この式は「分配の法則」により、
X = B ・ C ・ (A + A) + A ・ C ・ (B + B) + A ・ B ・ (C + C)
とまとめられます。
そして、「相補の法則」により、
X = B ・ C + A ・ C + A ・ B
と簡単化できます。
この論理式を基に作成した「多数決回路」が図2となります。
このように図1よりも少ないゲートで回路を実現することができます。
Copyright © ITmedia, Inc. All Rights Reserved.