電子デバイス/半導体集積回路

5.デジタル論理演算

 集積回路を説明するためには少しデバイスから離れますが、回路の話をしなければなりません。まずは集積化されることの多いデジタル論理回路について説明します。

 数の表し方として私たちは10進法に馴染んでいますが、一般に数は0から整数n-1までを使うn進法で表すことができます。1、2、・・・と数が増えてnに達したら桁上がりして2桁で表すというやり方です。デジタルの世界では2進法、つまり0と1の2値を用いて数を表します。なぜ2進法が選ばれたかというと、電子回路で実現するには2値がもっとも適しているからです。例えば2種類の電圧を決め、高いときを1、低いときを0に対応させればよいわけです。

 われわれが普通に使っている10進数は、0と1だけを使った2進数でつぎのように表すことができます。4桁(4ビットと言います)の2進数なら

10進数   2進数(4ビット)
 0  0000
 1  0001
 2  0010
 3  0011
 4  0100
 5  0101
 6  0110
 7  0111
 8  1000
 9  1001
 10  1010
 11  1011
 12  1100
 13  1101
 14  1110
 15  1111

といったように0~15までの10進数を表現できます。

 4桁を費やして10進数の16個分しか表せないので、桁数ばかり多くなって扱いにくいように思われますが、これは人間の感覚で、電子回路にとっては桁数は多くなっても電圧を2種類だけにしてもらった方がはるかにありがたいのです。

 2進数の演算をする場合を考えてみます。10進数の足し算の2+3=5を2進数で表すと、0010+0011=0101となります。足す数と足される数の同じ桁を比べて0と0なら答は0、0と1なら答を1、1と1なら答を0にして上の桁を1に桁上げする、という規則で足し算ができることがわかります。このような規則が決まればそれを電子回路で実現することができます。このような規則を実現する回路を論理回路と言います。

 例えば2つの入力の両方が1のときだけは出力を1にする回路をAND回路と言います。2つの入力をAとB、出力をXとするとつぎの表のような関係になります。この表を真理値表と呼んでいます。

 A X
 0 0  0
 1  0  0
 0  1  0
 1  1  1

 これを電気回路で実現するには例えばスイッチAとBを2個直列にした図5-1のような回路を考えます。スイッチを入れる(ONにする)のを「1」、入れない(OFFにする)のを「0」に相当すると考えます。出力Xを抵抗R両端の電圧と考えると、スイッチAとBを両方ONにしたときだけ出力Xが高くなります。これを「1」と考えると上のAND回路の真理値表の通りになることが分かります。つまり図の回路はAND回路になっています。AND出力を

\[X=A\cdot B\]

と積の形で表します。

 また、2つの入力の一方または両方が1のとき、出力を1にする回路をOR回路と言います。OR論理の真理値表はつぎのようになります。

 A  B  X
 0 0  0
 1  0  1
 0  1  1
 1  1  1

 これは図5-2のように2つのスイッチAとBを並列につなげば実現できます。AかBのいずれか一方をON(これを「1」と考える)にすれば、出力X(抵抗両端の電圧)は高くなり、これを「1」の状態とすれば、OR回路の真理値表の通りになり、OR回路ができていることが分かります。OR出力は

\[X=A+B\]

と和の形で表します。

 この2つと、入力が0なら1を出力し、入力が1なら0を出力する否定(NOT)回路の3種類が論理回路の基本となります。NOT論理の真理値表を念のため示すと次のようになります。

 A  X
 1  0
 0  1

NOT回路をスイッチで実現するには例えば図5-3のような回路が考えられます。スイッチを押したとき(「1」)は出力(電圧)は0になり、スイッチを押さないとき(「0」)、出力(電圧)は高くなります(「1」)。Aの否定出力は、

\[X=\bar{A}\]

と上にバーを付けて表すことが多いようです。

 これらを組み合わせて要求される論理を組み上げることができます。例えば、先程の例の加算をする回路も作ることができます。

 トランジスタは電子的なスイッチになりますから、AND回路、OR回路、NOT回路はいずれもトランジスタと抵抗器を使って実現できます。

 これらの論理回路については同じ回路を多数組み合わせて使用する場合が多いので、いちいちトランジスタや抵抗器による回路図を描くのは煩雑でわかりにくくなります。そこでそれぞれの論理回路について記号が決められています。これらを図5-4に示します。NAND、NORというのはANDまたはOR回路に否定回路を組み合わせたもので、この後、登場します。否定は出力側に小さな丸を付けて表します。

 これらの記号は米軍の規格であるMIL規格(1)で定められ、かつてJISにも対応する規格がありました(2)。しかしこのMIL規格はその後廃止され、JISも変更になりました。現在のJIS(3)はIEC(4)に準拠したものですが、そこに規定されているのは矩形の記号でMIL規格とは異なります。しかし日本でも海外でもかつてのMIL規格の記号を使っている規格表などが現在も多いと思われます。

 次項以降でトランジスタを使った論理回路を見ていくことにします。

(1)MIL-STD-806 (廃止)

(2)JIS X 0122 2値論理素子図記号 (廃止)

(3)JIS C 0167 電気用図記号

(4)IEC60167