ブール代数
論理回路記号
昔それはそれは偉い人(ジョージ・ブール 1815〜1864[イギリス])が考えた論理数学がブール代数です.
ブール代数は定理と法則から成り立っています.ここでは主なものをあげます.
ここで
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・C)
A+(B・C)=(A+B)・(A+C)
A・(B+C)=(A・B)+(A・C)
~(A+B)=~A・~B
~(A・B)=~A+~B
論理回路記号には大きく AND , OR , NOT の3種類の記号が主に使われます.尚本HPでは略記号として以下の記号を使用します.
| 略記号 |
+-----+
A --| AND |-- Y
B --| |
+-----+
|
+-----+
A --| OR |-- Y
B --| |
+-----+
| A --|>0-- Y |
+-----+
A --|ExOR |-- Y
B --| |
+-----+
| |||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 名称 | AND | OR | NOT | ExOR | |||||||||||||||||||||||||||||||||||||||||||||||||||
| 真理値表 |
|
|
|
|
またこれらの応用の一例として AND と NOT とあわせた NAND 等があります.
+-----+ --| AND |--|>0-- --| | +-----+ | +-----+ --| AND |0-- --| | +-----+ |
さて記号を少々定理と照らし合わせて応用してみます.どうしてこうなるのか考えてみてください(^^)/
+-----+ +-----+ --| AND |-- <--> --0| OR |0-- --| | --0| | +-----+ +-----+
+-----+ +-----+ --| AND |0-- <--> --0| OR |-- --| | --0| | +-----+ +-----+
ロジック回路はこれらの素子を接続することで種々の機能を作り出すことが出来ます.
さてロジック回路は極端な事を言えばNAND素子があればすべての素子を表現する事が出来ます.
例えばNOTは以下のように表現出来ます.
+-----+
A --+--| |
| | AND |0-- Y
+--| |
+-----+
ORは以下のように表現出来ます.
+-----+
A -----|>0-| |
| AND |0-- Y
B -----|>0-| |
+-----+
またExORは以下のように表現出来ます.
+-----+
A ----+-----| AND |--+
| +--| | |
| | +-----+ |
| +------+ | +-----+
+|>0-+ | +-|>0-| |
| | | AND |0-- Y
+----+ | +-|>0-| |
| +---|>0+ | +-----+
| | +-----+ |
+--|--| AND |--+
B -------+--| |
+-----+
このようにNAND素子があれば基本的にどんな素子もでき,それを複雑にすることで種々の大規模な回路を作成する事が出来ます.
つまりTTLでいう7400があればどんな回路でも出来ます!!
ぜひ挑戦してみてください.(そんなやつ居ないって(笑))(^^;;
フリップ・フロップ(FF)
ロジック素子による記憶回路がフリップ・フロップ回路です.
フリップ・フロップ回路は色々なところで使われる基本的な回路の1つです.
この回路を元にして大規模な同期式回路つまりCPUが設計されます.
フリップ・フロップは基礎的な回路ですが,この中でも一番基本的なものがSRフリップフロップで,発展させたものにJKフリップフロップがあり,これを更に簡単化したものにDフリップフロップがあります.
主に経験上使うのはDフリップフロップとですね
+-----+
-S -----| AND |0--+------ Q
+--| | |
| +-----+ |
+------------|-+
+------------+ |
| +-----+ |
+--| AND |0----+---- -Q
-R -----| |
+-----+
| 入力 -S | 入力 -R | 出力 Q | 出力 -Q |
|---|---|---|---|
| 1 | 0 | 0 | 1 |
| 0 | 1 | 1 | 0 |
| 1 | 1 | そのまま | そのまま |
| 0 | 0 | 不定 | 不定 |
+---------+
J ----| J Q |----- Q
| |
CLK ----|> CLK |
| |
K ----| K -Q |----- -Q
+---------+
| 入力 J | 入力 K | CLK | 出力 Q | 出力 -Q |
|---|---|---|---|---|
| 0 | 0 | ↑ | そのまま | そのまま |
| 1 | 0 | ↑ | 1 | 0 |
| 0 | 1 | ↑ | 0 | 1 |
| 1 | 1 | ↑ | 出力反転 | 出力反転 |
| X | X | L | そのまま | そのまま |
+---------+ +---------+
D ----+------| J Q |--- Q D --| D Q |--- Q
| | | | |
CLK --|------|> CLK | -> CLK --|> CLK |
| | | | |
+-|>0--| K -Q |--- -Q | -Q |--- -Q
+---------+ +---------+
| 入力 D | CLK | 出力 Q | 出力 -Q |
|---|---|---|---|
| 1 | ↑ | 1 | 0 |
| 0 | ↑ | 0 | 1 |
| X | L | そのまま | そのまま |
______
______↑ ↓_____