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