2. 基本論理演算と回路

NOT演算(否定演算)

NOT演算とは、論理変数の真理値を反転する演算(否定演算)である。NOT演算子は通常、単項演算子として使用され、論理変数を1つだけ取る。

$$A$$$$Y=\overline{A}$$
1(真)0(偽)
0(偽)1(真)
表1 NOT演算の真理値表

$$A=0 \rightarrow \bar{A}=1 \\A=1 \rightarrow \bar{A} =0$$と書ける。図1はBuffer とNOT回路の回路図記号である。実際の回路では、例えば、\(+5\;V\)を「1」に、\(0\;V\)を「0」に対応させることで、\(\{1,0\}\)の2値を実現している。

図1 BufferとNOT回路の図記号

※以下、真を「1」、偽を「0」とする。(当然、逆に値{1,0}を定義しても良い。)

真理値表

真理値表とは、論理関数の、入力の全てのパターンとそれに対する結果の値を、表にしたものである。真理値表は、論理演算の入力値と出力値の対応関係を表として表したもので、一般的な形式では表の左側の列に入力を、右側の列に出力をそれぞれ並べる。各行に入力の組み合わせと、その時の出力を記入する。

OR演算(論理和)

OR演算とは、2つの論理変数の真理値のうち、いずれか一方が真「1」である場合に、真の値「1」を返す演算である。OR演算子は通常、二項演算子として使用され、論理変数を2つ取る。

表2はOR演算の真理値表である。また、図2がOR回路の回路図記号である。

$$A$$$$B$$$$Y = A + B$$
$$0$$
$$1$$
$$1$$
$$1$$
表2 OR演算の真理値表

3変数以上のOR論理関数は、2変数のOR論理関数を組み合わせることで実現できる。つまり$$A+B+C = (A+B)+C$$とできる。図3は3変数OR回路が2変数OR回路の組み合わせで実現できることを示している。

図2 OR回路の図記号
図3 3変数OR回路

AND演算(論理積)

AND演算とは、2つの論理変数の真理値がどちらも真「1」である場合にのみ、真の値「1」を返す演算である。AND演算子は通常、二項演算子として使用され、論理変数を2つ取る。

表3はAND演算の真理値表である。また、図4がAND回路の回路図記号である。

$$A$$$$B$$$$Y=A \cdot B$$
$$0$$
$$0$$
$$0$$
$$1$$
表3 AND演算の真理値表

3変数以上のAND論理関数は、2変数のAND論理関数を組み合わせることで実現できる。つまり$$A \cdot B \cdot C = (A \cdot B) \cdot C$$とできる。図5は3変数AND回路が2変数AND回路の組み合わせで実現できることを示している。

図4 AND回路の図記号
図5 3変数のAND回路

論理関数の完全性

論理関数の完全性とは、任意の論理関数は、NOT,AND,ORの3つの演算子だけで構成できることを言う。
論理関数を\(f\)、論理変数を\((x_1,x_2,x_3, \cdots, x_n)\) とする。\(x_1,x_2, \cdots x_n\)は\(\{1\; , \;0\}\)の値をとる。論理関数値\(z\)は、$$z = f(x_1,x_2,x_3, \cdots , x_n)$$で表せ、論理関数値\(z\)は、\(\{1\; , \;0\}\)の値をとる。
\(n\)個の論理変数があるとき、組み合わせの数は\(2^n\)となる。\(2^n\)個の論理変数の組み合わせに対して、論理関数値の組み合わせは2通りの\(\{1,\;0\}\)となる。従って、可能な論理関数の数は、\(2^{2^n}\)個となる。
論理関数は、引数の全ての組み合わせに対して、関数値\(\{0\; , \;1\}\)を対応させた表によって表せる。例えば、引数を\(A,\;B\)の2個とすると、その組み合わせは、4通りとなり、それに対して関数値は\(2^4=16\)通りとなる。表4が2変数の論理関数の真理値表である。

AB
000000000011111111
010000111100001111
100011001100110011
110101010101010101
表4 2変数の論理関数(真理値表)

表4において関数値が②となるところが、AND関数であり、関数値が⑧となるところが、OR関数である。この表より、16通りの関数が構成できることが分かる。これら16通りの関数がNOT,AND,ORの3つの演算子で実現できることが示せれば、2変数論理関数の完全性がいえる。

NOR演算、NAND演算

NOR と NAND は、論理演算の 2 つの基本演算である。NOR 演算は、2 つの論理変数の真理値がどちらも偽「0」である場合にのみ、真の値「1」を返し、一方、NAND 演算は、2 つの論理変数の真理値がどちらも真「1」である場合にのみ、偽の値「0」を返す。また、NOR 演算は、OR 演算の否定として、NAND 演算は、AND演算の否定として、表現することができる。

NOR演算

NOR 演算は、2 つの論理変数の真理値がどちらも偽「0」である場合にのみ、真の値「1」を返す演算である。NOR 演算子は通常、三項演算子として使用され、論理変数を 2 つ取る。NOR 演算の真理値表を表5に示す。

$$A$$$$B$$$$A + B$$$$Y= \overline{A+B} $$
000$$1$$
011$$0$$
101$$0$$
111$$0$$
表5 NOR演算の真理値表
図6 NOR回路の図記号と構成

図6は、NOR回路の図記号とNOR回路がOR回路とNOT回路から構成されることを示している。

NAND演算

NAND 演算は、2 つの論理変数の真理値がどちらも真「1」である場合にのみ、偽の値「0」を返す演算である。NAND 演算子は通常、三項演算子として使用され、論理変数を 2 つ取る。NAND 演算の真理値表を表6に示す。

$$A$$$$B$$$$A \cdot B$$$$Y= \overline{A \cdot B} $$
000$$1$$
010$$1$$
100$$1$$
111$$0$$
表6 NAND演算の真理値表
図7 NAND回路の図記号と構成

図7は、NAND回路の図記号とNAND回路がAND回路とNOT回路から構成されることを示している。

NAND演算、NOR演算の完全性

NAND と NOR は、論理演算の基本演算であり、任意の論理関数は、NAND または NOR だけで構成することができ、この性質をNAND と NOR の完全性と言う。
NAND と NOR の完全性は、論理回路やプログラミング言語の設計において、重要な意味を持っている。論理回路は、論理ゲートと呼ばれる素子によって構成されおり、NAND や NOR などの論理演算を行うことができる。NAND と NOR の完全性により、任意の論理関数をNAND または NOR の論理ゲートだけで実装することができる。

図8はNOR回路、NAND回路からNOT回路を構成する方法を示している。表7がその真理値表である。

$$X$$$$A$$$$B$$$$Y=\overline{X}$$
000$$1$$
111$$0$$
表7 NORNAND回路によるNOT回路 真理値表

このNOT回路を使うことで、図9,図10に示すように、NOR回路からOR回路を、NAND回路からAND回路を構成することができる。

図8 NOR,NAND回路によるNOT回路の構成
図9 NOR回路によるOR回路の構成
図10 NAND回路によるAND回路の構成

ド・モルガンの法則

ド・モルガンの法則とは、論理演算の 2 つの法則である。
・ド・モルガンの第 1 法則:AとBの論理和の否定は、Aの否定とBの否定の論理積と等しい。$$\overline{A+B} = \overline{A} \cdot \overline{B}$$図11が回路図での表現、表8が真理値表である。

$$A$$$$B$$$$\overline{A}$$$$\overline{B}$$$$Y=\overline{A+B}=\overline{A} \cdot \overline{B}$$
0011$$1$$
0110$$0$$
1001$$0$$
1100$$0$$
表8 ド・モルガンの第1法則


・ド・モルガンの第 2 法則:AとBの論理積の否定は、Aの否定とBの否定の論理和と等しい。$$\overline{A \cdot B} = \overline{A} + \overline{B}$$図12が回路図での表現、表9が真理値表である。

$$A$$$$B$$$$\overline{A}$$$$\overline{B}$$$$Y=\overline{A \cdot B}=\overline{A} +\overline{B}$$
0011$$1$$
0110$$1$$
1001$$1$$
1100$$0$$
表9 ド・モルガンの第2法則
図11 ド・モルガンの第1法則
図12 ド・モルガンの第2法則

2. 基本論理演算と回路” に対して1件のコメントがあります。

コメントは受け付けていません。