Section 1
ブール代数の基本概念
デジタル回路は 0(偽・Low)と 1(真・High)の2値で動作する。 この2値を扱う代数系を ブール代数と呼ぶ(George Boole 1847年考案、Claude Shannon が電気回路に応用)。 すべての論理演算は下記3つの基本演算から構成される。
| 演算 | 記号 | 意味 |
|---|---|---|
| NOT(否定) | 入力を反転する | |
| AND(論理積) | A · B | 両方が1のときだけ1 |
| OR(論理和) | A + B | どちらか一方でも1なら1 |
Section 2
7つの基本ゲート — MIL記号・真理値表・ブール式
NOT(インバータ)
| A | Y |
|---|---|
| 0 | 1 |
| 1 | 0 |
入力を反転。1入力・1出力。
AND(論理積)
| A | B | Y |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
両入力が 1 のときのみ 1 を出力。
OR(論理和)
| A | B | Y |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
どちらか一方でも 1 なら 1 を出力。
NAND(否定論理積)
| A | B | Y |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
AND を反転。NAND だけで全ゲートを構成できる(論理的完全性)。
NOR(否定論理和)
| A | B | Y |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 0 |
OR を反転。NAND と同様に論理的完全性をもつ。
XOR(排他的論理和)
| A | B | Y |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
入力が異なるときのみ 1。加算のビット和に相当。左側の二重曲線が識別記号。
XNOR(排他的否定論理和)
| A | B | Y |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
入力が等しいときに 1。一致検出・比較回路に使われる。
Section 3
ブール代数の法則
これらを使って論理式を簡略化し、ゲート数を減らせる。
| 法則 | AND 形 | OR 形 |
|---|---|---|
| 同一律 | A · 1 = A | A + 0 = A |
| 零元律 | A · 0 = 0 | A + 1 = 1 |
| 冪等律 | A · A = A | A + A = A |
| 補元律 | A · = 0 | A + = 1 |
| 二重否定律 | = A | |
| 交換律 | A · B = B · A | A + B = B + A |
| 結合律 | (A·B)·C = A·(B·C) | (A+B)+C = A+(B+C) |
| 分配律 | A·(B+C) = A·B + A·C | A+(B·C) = (A+B)·(A+C) |
| 吸収律 | A·(A+B) = A | A + A·B = A |
ド・モルガンの定理(De Morgan's Laws)
NOT を AND/OR の内側に分配する最重要定理。NAND・NOR の等価変換に直接応用できる。
覚え方: バーを中に分配したら演算子を反転(AND ↔ OR)する。
Section 4
論理式と回路図の対応
優先順位は NOT > AND > OR(乗算=AND が加算=OR より優先)。 括弧で明示的に順序を指定できる。
例: Y = · B + C
Section 5
応用:半加算器(Half Adder)
1ビット同士の加算を行う最小単位の回路。A と B を加算し、 Sum(和ビット)と Cout(桁上がり)を出力する。
真理値表
| A | B | S (Sum) | C (Carry) |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 |
例: 1+1 = 10₂ → S=0、Cout=1(桁上がり発生)
前の桁からの繰り上がり(Cin)を扱えない点が「半」の意味。 2ビット目以降には 全加算器(Full Adder)が必要。