LOGIC CIRCUIT
論理回路の基本
論理演算ではビット列を計算しますが、ここでは論理ゲートの真理値表を読み、複数のゲートを組み合わせた回路や加算器の動きを理解します。
問題を解きたい方:
→ 論理回路を練習する
→ 論理回路を練習する
AND・OR・NOT
AND:両方1なら1
OR:どちらかが1なら1
NOT:0と1を反転
OR:どちらかが1なら1
NOT:0と1を反転
| A | B | AND | OR | XOR |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 | 1 |
| 1 | 0 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 |
NAND・NOR
それぞれAND・ORの結果をNOTで反転したものです。
NAND = NOT (A AND B)
NOR = NOT (A OR B)
NOR = NOT (A OR B)
XOR
2つの入力が異なるときだけ1になります。
組み合わせ回路
複数のゲートがつながっている場合は、入力側から順番に中間結果を求めます。
A=1, B=0
X = A OR B = 1
Y = NOT X = 0
X = A OR B = 1
Y = NOT X = 0
コツ
複雑に見えても、一つのゲートずつ出力を書き出せば解けます。
複雑に見えても、一つのゲートずつ出力を書き出せば解けます。
半加算器
2つの1ビットを加算する回路です。和SにはXOR、桁上がりCにはANDを使います。
S = A XOR B
C = A AND B
A=1, B=1 → S=0, C=1
C = A AND B
A=1, B=1 → S=0, C=1
全加算器
半加算器と違い、下位桁からの桁上がりCinも含めて3つの1ビットを加算できます。
A=1, B=0, Cin=1
1 + 0 + 1 = 10₂
→ S=0, Cout=1
1 + 0 + 1 = 10₂
→ S=0, Cout=1
論理演算との違い
論理演算:1010 AND 1100 のようにビット列を計算
論理回路:真理値表・ゲート接続・半加算器・全加算器を読み解く
論理演算:1010 AND 1100 のようにビット列を計算
論理回路:真理値表・ゲート接続・半加算器・全加算器を読み解く
論理回路は真理値表から考える
回路記号を暗記するだけでなく、入力の全組合せに対して出力が0か1かを整理すると、複雑な回路でも追いやすくなります。
具体例:半加算器
A=0,B=0 → S=0,C=0
A=0,B=1 → S=1,C=0
A=1,B=0 → S=1,C=0
A=1,B=1 → S=0,C=1
和SはXOR、桁上がりCはANDで表せます。
A=0,B=1 → S=1,C=0
A=1,B=0 → S=1,C=0
A=1,B=1 → S=0,C=1
和SはXOR、桁上がりCはANDで表せます。
全加算器との違い
半加算器は2つの1bitを加算します。全加算器はさらに下位桁からの桁上がり入力も含めて加算できるため、多bitの加算回路を構成するときに使われます。
よくある間違い
ORとXORを混同しない
入力が両方1のとき、ORは1ですがXORは0です。真理値表の「1,1」の行を確認すると区別できます。
入力が両方1のとき、ORは1ですがXORは0です。真理値表の「1,1」の行を確認すると区別できます。
試験でのポイント
複合回路では一気に最終出力を求めず、各ゲートの途中出力に名前を付けて順番に計算しましょう。
論理回路とは?
論理回路は、0と1の入力に対して論理演算を行い、0または1を出力する回路です。AND、OR、NOT、XORなどの論理ゲートを組み合わせて構成します。
AND・OR・NOTゲートの違い
ANDは入力がすべて1のとき1、ORはどれかが1なら1、NOTは入力を反転します。回路問題では各ゲートの出力を順番に書くと追跡しやすくなります。
XOR回路とは?
XORは2つの入力が異なるとき1になります。00→0、01→1、10→1、11→0です。半加算器の和を求める部分にも使われます。
半加算器とは?
半加算器は2つの1bitを加算し、和Sと桁上がりCを出力する回路です。和SにはXOR、桁上がりCにはANDを使えます。
A=1、B=1なら S=0、C=1。つまり2進数の「10」に相当します。
半加算器と全加算器の違い
半加算器は2つの入力を加算します。全加算器はさらに下位桁からの桁上がり入力を含めて加算でき、多bitの加算回路を構成できます。
理解したら10問練習
真理値表・組み合わせ回路・半加算器・全加算器を実際に解いてみましょう。
真理値表・組み合わせ回路・半加算器・全加算器を実際に解いてみましょう。