2022年05月10日 | 更新 |
AND回路は多入力1出力の2値論理回路の一種で、全ての入力が1の場合に出力が1になり、入力の中に0が含まれている場合に出力が0になります。AND回路は、ANDゲートあるいは論理積回路とも呼ばれます。また、AND回路は、基本論理ゲートの一種です。
AND回路の行う論理演算はAND演算や論理積と呼ばれます。
入力信号 の真理値 |
出力信号 の真理値 |
|
---|---|---|
A | B | Y |
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
まず2入力のAND回路について、真理値表、回路記号、および論理式の説明をして、次に3入力以上のAND回路について、同様の説明をします。
最後に、理論的な議論でまれに用いられる事がある1入力のAND回路について説明します。
AND回路といえば、1(真)を高い電圧のHに対応させ、0(偽)を低い電圧のLに対応させる、正論理のAND回路を指す場合が多いですが、1をL、0をHに対応させる負論理のAND回路もあります。
まず、正論理のAND回路と負論理のAND回路に共通な話を説明した後で、正論理のAND回路と、負論理のAND回路について、それぞれ説明します。
2つの信号AとBを入力し、1つの信号Yを出力するAND回路の真理値表を表2に示します。
入力信号 の真理値 |
出力信号 の真理値 |
|
---|---|---|
A | B | Y |
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
表2に示す様に、2入力のAND回路は、2つの入力の真理値が両方1の場合に出力の真理値が1となり、入力の少なくとも一方の真理値が0の場合は出力の真理値が0になる回路です。Y=1になるのは、A=1でかつB=1の時である事から、「かつ」の英訳である"AND"が回路の名称として用いられています。
また表2のYに示す様に、2つの入力AとBの両方が1の場合に結果が1となり、AとBの内少なくとも一方が0の場合に結果が0となる論理演算を、AND演算や論理積と呼びます。
論理積は2項演算子"·"を使って表されます。つまり、表2のA、B、およびYの関係は、式(1)の論理式で表されます。
論理積の演算子"·"は、しばしば省略され、式(1)は式(2)の様に表記される事があります。
論理積の演算子(·)は、論理和の演算子(+)よりも優先順位が高いので、A+B·Cは、A+(B·C)と解釈されます。論理和の計算を論理積の計算よりも先にする場合は、(A+B)·Cと書く必要があります。
正論理の場合は、真理値0が電圧Lに、真理値1が電圧Hに対応するので、表2の真理値表の0をLに、1をHに書き換えれば、正論理の2入力AND回路の入力電圧と出力電圧の関係が求まります。(表3参照)
入力電圧 | 出力電圧 | |
---|---|---|
A | B | Y |
L | L | L |
L | H | L |
H | L | L |
H | H | H |
正論理の2入力AND回路の回路記号を図1に示します。
なお、最も狭義のAND回路は、表3や図1に示した、正論理の2入力AND回路を指します。
正論理の2入力AND回路の動作を論理式で表すと、式(3)あるいは式(4)になります。
参考1:式(3)は式(1)と同じ式です。また式(4)は式(2)と同じ式です。
参考2:式(2)ではXとYの間にスペースを1つ空けています。XYと続けて書いても間違いではありませんが、その様な書き方をすると、複数のアルファベットを使った信号名の場合に混乱しますから、スペースを1つ空ける習慣を付けておく方が無難でしょう。例えば、ABCという信号とDEFという信号の論理積をABCDEFと書くと、信号名の区切りがどこにあるのか判別が難しくなります。この場合、ABC DEFと間にスペースを入れておくと、区切りがどこなのかがはっきりします。
負論理の場合は、真理値0が電圧Hに、真理値1が電圧Lに対応するので、表2の真理値表の0をHに、1をLに書き換えれば、負論理の2入力AND回路の入力電圧と出力電圧の関係が求まります。(表4参照)
注:表4は、単に表2を0→Hおよび1→Lと書き換えただけではなく、行の順序の入れ替えも行なっています。
入力電圧 | 出力電圧 | |
---|---|---|
A | B | Y |
L | L | L |
L | H | H |
H | L | H |
H | H | H |
なお、負論理の信号には、信号名に上線を付ける習慣があるので、表4でも信号名をA、B、Yとしています。(ただし、負論理でも、信号名に上線を付けなければ間違いという訳ではありません)
負論理の2入力AND回路の回路記号は、図1の回路記号の各端子に、負論理である事を示す丸印を付けた、図2の様な記号になります。
負論理の2入力AND回路の動作を論理式で表すと、式(5)あるいは式(6)になります。
参考:式(5)は、式(1)中の信号名に、負論理を表す上線を付けたものです。また式(6)は、式(2)中の信号名に、負論理を表す上線を付けたものです。論理式は、電圧の関係を表す式ではなく、真理値の関係を表す式なので、正論理の回路でも、負論理の回路でも、(信号名に上線を付けるかどうかを除いて)同じ論理式になります。
ところで、図3のOR回路の真理値表は表5の通りになります。
入力電圧 | 出力電圧 | |
---|---|---|
A | B | Y |
L | L | L |
L | H | H |
H | L | H |
H | H | H |
表5の真理値表は、表4に示した負論理のAND回路の真理値表と(信号名に上線がない事を除いて)一致している事が分かります。この事から分かる様に、負論理のAND回路は、正論理のOR回路と、物理的には同じものです。
参考:つまり、正論理のOR回路のICを買えば、負論理のAND回路のICとしても使えるという事です。
3入力以上のAND回路は、全ての入力の真理値が1の場合に出力の真理値が1になり、真理値が0の入力が1つでもある場合は出力の真理値が0になる回路です。
参考:2入力のAND回路の場合も、「全ての入力の真理値が1の場合に出力の真理値が1になり、真理値が0の入力が1つでもある場合は出力の真理値が0になる回路」という定義に当てはまります。つまりこの定義は、もともと2入力の回路として決められたAND回路を、3入力以上に自然な形で拡張した定義であるといえます。
例えば3つの信号A、B、およびCを入力し、1つの信号Yを出力する3入力1出力のAND回路の真理値表は、表6の様になります。
入力信号 の真理値 |
出力信号 の真理値 |
||
---|---|---|---|
A | B | C | Y |
0 | 0 | 0 | 0 |
0 | 0 | 1 | 0 |
0 | 1 | 0 | 0 |
0 | 1 | 1 | 0 |
1 | 0 | 0 | 0 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 0 |
1 | 1 | 1 | 1 |
次の節で説明する様に、表6の3入力のAND回路の論理式は、式(7)あるいは式(8)で表されます。
正論理の場合は、真理値0が電圧Lに、真理値1が電圧Hに対応するので、正論理で3入力以上のAND回路は、全ての入力電圧がHの場合に出力電圧がHとなり、入力電圧の中にLが1つでもある場合は出力電圧がLになる回路となります。
例えば3つの信号A、B、およびCを入力し、1つの信号Yを出力する、正論理の3入力AND回路の入力電圧と出力電圧の関係は、表7の様になります。
入力電圧 | 出力電圧 | ||
---|---|---|---|
A | B | C | Y |
L | L | L | L |
L | L | H | L |
L | H | L | L |
L | H | H | L |
H | L | L | L |
H | L | H | L |
H | H | L | L |
H | H | H | H |
正論理で3入力以上のAND回路の回路記号は、図1に示した正論理の2入力AND回路の入力端子を増やした記号となります。
例えば、表7の真理値表に対応する、正論理の3入力AND回路の回路記号は、図4の様になります。
なお、入力端子が多く、図1の記号の左側に入力端子が書ききれない場合は、例えば図5に示す様に、AND回路の左側の縦線を延長します。
ところで、図4の正論理の3入力AND回路は、図6に示す、正論理の2入力AND回路を2つ組み合わせた回路と等価になります。
ここで、図6の回路が図4の回路と等価である事(言い換えれば、図6の回路が、A、B、およびCの全てがHの場合にY=Hになり、それ以外の場合にY=Lになる事)を証明してみましょう。
注:"·"を、2入力AND回路の動作(論理積)を表す2項の論理演算子と定義した場合に、3つの入力A、B、およびCの全てが1の時に論理式A·B·Cが1になり、3つの入力A、B、およびCの内1つでも0の入力がある時は論理式A·B·Cが0になる事を、自明の事として、特に説明をしていない書籍等がありますが、数学的には自明ではないので、このページでは証明しています。この証明に興味がない場合は、次の節までの説明を読み飛ばしてください。
図6の回路で、AとBが入力された左側のAND回路の出力は、A·Bとなります。また、A·BとCが入力された右側のAND回路の出力は(A·B)·Cとなりますが、これが図6の回路全体の出力電圧Yとなります。
3つの入力信号A、B、およびCが取り得る8つの電圧の組み合わせについて、中間信号A·Bを計算し、それから出力信号Y=(A·B)·Cを計算した結果を表8に示します。
入力電圧 | 中間電圧 | 出力電圧 | ||
---|---|---|---|---|
A | B | C | A·B | Y |
L | L | L | L | L |
L | L | H | L | L |
L | H | L | L | L |
L | H | H | L | L |
H | L | L | L | L |
H | L | H | L | L |
H | H | L | H | L |
H | H | H | H | H |
表8の入力電圧(A、B、およびC)と出力電圧(Y)の関係は、表7の入力電圧と出力電圧の関係と全く同じになっています(A、B、およびCのすべてがHの場合にのみY=Hになっています)。よって、図4の回路と図6の回路が等価になる事が示されました。
図4の回路と図6の回路が等価である事が示された事により、図4の正論理の3入力AND回路の出力電圧は、式(9)の論理式で与えられる事が分かります。
ところで、論理積の演算子である"·"は左結合ですので、括弧を取り除いて式(10)の様に表記する事もできます。
さらに、演算子"·"は省略される事もあり、式(11)の様に表記される場合もあります。
図7の上側に示すN入力(N=2,3,4,···)の正論理のAND回路についても、図6の場合と同様、図7の下側の回路と等価になります。(証明は後のコラムを参照)
よって、N入力の正論理のAND回路の論理式は、式(12)または式(13)の様に表記できます。
負論理の場合は、真理値0が電圧Hに、真理値1が電圧Lに対応するので、負論理で3入力以上のAND回路は、全ての入力電圧がLの場合に出力電圧がLとなり、入力電圧の中にHが1つでもある場合は出力電圧がHになる回路となります。
例えば3つの信号A、B、およびCを入力し、1つの信号Yを出力する、負論理の3入力AND回路の入力電圧と出力電圧の関係は、表9の様になります。負論理なので、慣例に従って信号名に上線を付けています。
入力電圧 | 出力電圧 | ||
---|---|---|---|
A | B | C | Y |
L | L | L | L |
L | L | H | H |
L | H | L | H |
L | H | H | H |
H | L | L | H |
H | L | H | H |
H | H | L | H |
H | H | H | H |
負論理で3入力以上のAND回路の回路記号は、正論理のAND回路の回路記号の各端子(入力端子および出力端子)に、負論理を示す丸印を書き加えた記号になります。
例えば、表9の真理値表に対応する、負論理の3入力AND回路の回路記号は、図8の様になります。
図8の負論理の3入力AND回路の等価回路は、図9の様に、2つの負論理の2入力AND回路を用いて構成できます。
参考:図9の回路が図8の回路の等価回路である事(言い換えれば、A、B、およびCの全てがLの場合にY=Lとなり、それ以外の場合にY=Hとなる事)の証明は、正論理の場合に表8を作成したのと同様に、図9の回路の真理値表を作成し、表9と一致する事を確認すればできます。
図9の回路が図8の回路と等価である事から、負論理の3入力のAND回路の論理式は、式(14)または式(15)の様に表記できる事が分かります。
一般にN入力(N=2,3,4···)の負論理のAND回路においても、入力信号をX1、X2、X3、···、XNとし、出力信号をYとすると、論理式は式(16)または式(17)の様に表記できます。
ところで、負論理の2入力AND回路は、正論理の2入力OR回路に置き換えられるので、図9の回路は、図10の回路と等価になります。
さらに図10の2つの2入力OR回路は、1つの3入力OR回路に置き換えられるため、結局図8の回路は、図11に示す3入力OR回路と等価になります。
参考:図11の回路の真理値表が、表9と(信号名の上線の有無を除いて)一致する事からも、図8の回路と図11の回路が等価な事が示せます。
負論理の2入力AND回路が正論理の2入力OR回路と等価である事は前に述べましたが、3入力の場合も、負論理のAND回路と正論理のOR回路が等価になります。
さらに、同様の議論をすれば、4入力以上の場合でも、負論理のAND回路と正論理のOR回路が等価である事が示せます。(図12参照)
特に理論的な議論をする際に、1入力のAND回路が登場する事があります。1入力のAND回路は、実質的にはバッファ回路なのですが、バッファ回路をAND回路の一種とみなす事で、議論が簡単になる場合があるからです。この節では、この1入力のAND回路について説明します。
AND回路で最も基本になるのは2入力のAND回路です。この場合、AND回路の定義は「2つの入力の真理値が両方1の場合に出力の真理値が1となり、入力の少なくとも一方の真理値が0の場合は出力の真理値が0になる回路」でした。
さらに、AND回路の定義を「全ての入力の真理値が1の場合に出力の真理値が1になり、真理値が0の入力が1つでもある場合に出力の真理値が0になる回路」とする事で、AND回路を3入力以上に、自然な形(2入力のAND回路と3入力のAND回路を別々に定義しなくていい形)で拡張できる事も説明しました。
後者のAND回路の定義(赤色で強調表示したAND回路の定義)を使えば、1入力AND回路も定義できます。
1つの信号Xを入力して1つの信号Yを出力する1入力AND回路の真理値表を、表10に示します。
入力信号 | 出力信号 | 備考 |
---|---|---|
X | Y | |
0 | 0 | 「真理値が0の入力が1つでもある場合」に相当 |
1 | 1 | 「全ての入力の真理値が1の場合」に相当 |
表10の1入力AND回路の論理式は、式(18)で表されます。
正論理の場合は、真理値0が電圧Lに、真理値1が電圧Hに対応するので、1入力AND回路の入力電圧と出力電圧の関係は表11の様になります。
入力信号 | 出力信号 |
---|---|
X | Y |
L | L |
H | H |
また、表11に対応する正論理の1入力AND回路の回路記号を、図13に示します。
図13では、形式的にはAND回路の記号を使っていますが、回路の働きを考えると、図14のバッファ回路と同じです。ただし、図13の回路記号を使う場合は、「AND回路の一種である」というニュアンスを伴います。
参考:バッファ回路は1入力OR回路でもあります。「OR回路の一種である」というニュアンスを出したい場合は、OR回路の記号を使ってバッファ回路を表記します。
表11および図13の正論理の1入力AND回路を論理式で表すと、式(19)となります。
負論理の場合は、真理値0が電圧Hに、真理値1が電圧Lに対応するので、1入力AND回路の入力電圧と出力電圧の関係は表12の様になります。なお、負論理の回路なので、習慣に従って、信号名に上線を付けています。
入力信号 | 出力信号 |
---|---|
X | Y |
L | L |
H | H |
表12は、信号名に上線が付いている点を除くと、表11と全く同じ真理値表です。1入力AND回路の場合は、正論理であれ、負論理であれ、結局、入力電圧と出力電圧の関係が同じになります。
また、表12に対応する負論理の1入力AND回路の回路記号を図15に示します。
図15では、形式的にはAND回路の記号を使っていますが、回路の働きを考えると、図16のバッファ回路と同じです。
表12および図15の負論理の1入力AND回路を論理式で表すと、式(20)となります。
図7の下の回路が、正論理のN入力AND回路(図7の上の回路)と等価である事、言い換えれば、X1~XNの全ての入力がHになる場合にY=Hとなり、それ以外の場合にY=Lとなる事を証明します。
色々な証明法があるでしょうが、ここでは数学的帰納法を使います。
N=2の場合は、図7の下の回路は図1の回路となるので、正論理の2入力AND回路と等価である事(というよりも2入力のAND回路そのものである事)は自明です。
今、N=kの場合に図7の下の図が正論理のk入力AND回路と等価であると仮定します。
つまり、図17の上下の回路が等価である事を仮定します。
ここで図18の様に、図17の下の回路に、もう1本の入力信号Xk+1と、もう1個の正論理の2入力AND回路を追加して作った、k+1入力で1出力の回路について考えます。
図18の回路の真理値表は、表13の様になります。
入力信号 | 中間信号 | 出力信号 | |
---|---|---|---|
X1、X2、···、Xk | Xk+1 | Y | Y' |
1つ以上がL | L | L | L |
1つ以上がL | H | L | L |
全てがH | L | H | L |
全てがH | H | H | H |
表13より、図18の回路で全ての入力がHの場合に出力Y'がHになり、それ以外の場合にY'がLになる事が分かります。
つまり、図18の回路は、図19に示す正論理のk+1入力AND回路と等価になります。
この事は、N=kの場合に図7の下の回路が正論理のk入力AND回路と等価であるならばN=k+1の場合に図7の下の回路が正論理のk+1入力AND回路と等価である事を示しています。
(1)の証明と(2)の証明より、任意のN(N=2、3、4、···)について、図7の下の回路が正論理のN入力AND回路と等価である事が、数学的帰納法を用いて示せます。
次のページでは、AND回路の動作をベン図で表す方法について説明します。