目次
1.半加算回路
ここからは、応用ということで複数の回路を組み合わせた物を紹介していきます。
まず、半加算回路とは、2進数の加算を行うための回路です。
半加算器は2ビット(ビットは2進数の一桁)以上の桁を持つ加算には使えません。
回路図
回路は、
XOR回路とAND回路の組み合わせになっています。
また、回路の上の黒丸は交差している回路が
接続されていることを示しています。
![半加算回路の回路記号](../img/circuit/HARF-ADDER-figure.png)
2進数の加算
真理値表に入る前に、2進数の加算について説明します。
まず、普段私たちが使っているのは10進数で、0~9の組み合わせで表現されて、10になると桁が上がります。
対して、2進数とは0と1の組み合わせで表現されて、2になると桁が上がります。
そのため、2進数で 1 + 1 は2になって桁が上がるため、答えは桁が上がり10となります。
真理値表
真理値表を見ていきましょう。
まず、Aの入力が1で、Bの入力が0の場合は、S(和)が1になります。
次に、Aの入力も、Bの入力も両方とも1の場合は
XOR回路は二つの入力のうち同じ値が入力されると出力が0になるためSは0で、
AND回路は二つの入力が1の時にのみ、1が出力されるため、C(桁上がり)が1となります。
![半加算回路の真理値表](../img/circuit/HANkasannkairo.png)
2.マルチプレクサ
マルチプレクサは、複数の信号から出力する信号を選択する信号切り替え器です。
自動販売機のように、ボタンを選択することによって1つの販売口から様々な飲み物が出てくるのに似ています。
3入力以上のAND回路、OR回路について
3個以上入力のあるAND回路、OR回路について真理値表を見ながら考えていきましょう。
AND回路
![3入力以上のANDの真理値表](../img/circuit/3nyuuryokuAND.png)
まず、AND回路は入力がすべて1の時にだけ出力が1になり、それ以外のパターンは出力が0になります。
OR回路
![3入力以上のORの真理値表](../img/circuit/3nyuuryokuOR.png)
次に、OR回路は入力のいずれかが1の時に出力が1になり、入力がすべて0なら出力が0になります。
このことから入力の数が変わっても、
OR回路はいずれかの入力が1であるときに出力が1になり、
AND回路はすべての入力がそれぞれ1の時のみ、出力が1になります。
回路図と真理値表
マルチプレクサはOR回路、AND回路で構成されています。
また、白い丸は入力を反転させます。
![マルチプレクサ回路](../img/circuit/MULTIPLEXER-figure2.png)
白い丸部分で入力を反転させることで
AND回路で信号及び入力への判定をして、
OR回路でその信号をまとめています。
![マルチプレクサの真理値表](../img/circuit/marutipurekusa.png)
では、それぞれの信号に対するパターンを上の表とあわせて見ていきます。
信号0
まず、信号0に注目して解説していきます。
信号0は入力A、Bが0の時にA、Bからの入力が反転することで、
AND回路に入る信号がすべて1になるため、入力が信号0が出力されます。
![マルチプレクサ入力0](../img/circuit/MULTIPLEXER-figure2_0.jpg)
信号1
次に、信号1に注目して解説していきます。
信号1は入力Aが1、入力Bが0の時にBからの入力が反転することで、
AND回路に対するすべての入力が1になるため、信号1が出力されます。
![マルチプレクサ入力1](../img/circuit/MULTIPLEXER-figure2_1.jpg)
信号2
続いて、信号2に注目して解説していきます。
信号2は入力Aが1、入力Bが0の時にAからの入力が反転することで、
AND回路に対するすべての入力が1になるため、信号2が出力されます。
![マルチプレクサ入力2](../img/circuit/MULTIPLEXER-figure2_2.jpg)
信号3
最後に、信号3に注目して解説していきます。
信号3は入力A、Bが1の時にA、Bからの入力を受けることで信号3が出力されます。
![マルチプレクサ入力3](../img/circuit/MULTIPLEXER-figure2_3.jpg)
まとめ
このように、入力A, Bの ON / OFF を切り替えることによって
信号0~信号3のどの信号を出力するか選ぶことができます。
前述の自動販売機や、テレビの入力切り替えなども同じ仕組みで実現できます。
3.RSフリップフロップ回路
フリップフロップ回路は、過去の入力を記憶して、出力に反映する機能を持った回路です。
フリップフロップは、構造と機能によって様々な種類があります。
ここではその代表格である、RS型を解説します。
回路図
RSフリップフロップ回路は、
図の回路図のようにNOR回路が2個横に並び、
それぞれの入力の片方がもう一方のNOR回路の
出力部分につながり交差している見た目になっています。
![RSフリップフロップ回路の回路記号](../img/circuit/RS_figure.png)
回路記号
回路記号とは、回路図を省略した物で、
RSフリップフロップ回路の回路記号は右の図のようになっています。
![RSフリップフロップ回路の回路記号](../img/circuit/rskigou.jpg)
真理値表
では、下の表と回路図をもとにRS回路の動作を見ていきます。
入力がS:1、R:0の場合を①~③に分けて考えていきましょう。
状態①
Sから1の入力がNOR回路に行くため、Q#の出力は0になります。
また、下側のNOR回路について、入力のQとSのうちSしか確定していませんが、
NOR回路の性質から片方の入力が1なら必ず出力は0になるため、下側のNOR回路の出力は0になります。
![RSフリップフロップ回路1](../img/circuit/RS_figure_1.png)
状態②
Q#の出力が0になったため、今までQに行っていた1の入力が無くなり、
NOR回路で反転してQの出力が1になります。
![RSフリップフロップ回路2](../img/circuit/RS_figure_2.png)
状態③
Qの出力がS側のNOR回路に入るため、Sを0にしても出力は前回から維持されたままになります。
また、SとRを1にする事に関しては禁止されています。
![RSフリップフロップ回路の真理値表](../img/circuit/RS-flip_table.png)
Minecraftで作ったRSフリップフロップ回路
Minecraftで作ったRSフリップフロップ回路はこのようになります。ボタンが入力でランプが出力に相当します。
![マイクラで作ったRSフリップフロップ回路](../img/circuit/RS-flip_minecraft_1.png)