つまり何したの?
NAND回路を組み合わせて基本的なロジックを実現してみた。
せっかくなので2入力のロジックについてはNANDの汎用ロジックICを使って実際に実装してみた。
今回実現する汎用ロジック
- NOT
- AND
- NOR
- OR
- XOR
の5つ(実装時は比較のためにNANDを入れて6つ)
それぞれの真理値表は以下のようになる
A | B | NOT forA | AND | NOR | OR | XOR |
0 | 0 | 1 | 0 | 1 | 0 | 0 |
0 | 1 | 1 | 0 | 0 | 1 | 1 |
1 | 0 | 0 | 0 | 0 | 1 | 1 |
1 | 1 | 0 | 1 | 0 | 1 | 0 |
NANDを汎用ロジックICで実現する
前回、NAND回路はトランジスタで作ったが、作れることがわかったので今度はNAND回路を内包した汎用ロジックICを使う。汎用ロジックICとは汎用的に使われる論理演算等のロジックをICで実現したもの。
まずベースとなる2入力、1出力のNANDロジックは以下のような記号で表す。左から0か1(電圧が低いか高いかで表される)の信号が入力され、右からNANDロジックの結果が出力される。
実際に使うNANDの汎用ロジックICはこのようなもので、74HCというシリーズの汎用ロジックICが店頭に手に入りやすいのでそれを採用した。
図の読み方として、A,Bから信号を入力しYに信号を出力される。VccとGNDは電源用のピンのこと。
実物はこんな感じ。
NANDロジックで他の汎用ロジックを表す
NOT
NOTロジック(インバータとも)は1つの入力の信号を論理反転して出力するもの。
A,Bどちらにも同じ信号を入れると結果が反転されるため1つのNANDロジックで実現できる。
AND
一般的な論理回路の教科書ではNANDロジックよりも先に紹介される非常にメジャーなロジック。文字通りA,Bどちらの入力も1の場合に出力が1になる。
そしてANDの出力を反転させるとNANDロジックになるため、NANDロジックで実現する場合にはNANDロジックの出力をNOTロジックで反転して実現する。
OR
ORロジックはこちらも文字通りA,Bどちらかもしくは両方の入力が1の場合に出力が1になる。
入力信号を反転させてからNANDロジックに入力することで、ORロジックを実現できる。
NOR
NORロジックはORを反転させたロジックなのでORロジックをNOTで反転して実現できる。
XOR
XORロジックは2つの入力が異なる場合に1を出力するロジックである。あまり直感的ではないがよく使われる。
データの暗号化や整合性チェックなどかなり色々な場面で使われているが具体的な使い方はまた今度。
4つのNANDロジックを使ってほかよりも少し複雑な形で実現される。
実際に回路を組んでみる
A,Bは入力で、各ロジックの出力をいかに示す。
A | B | NOT forA | NAND | AND | NOR | OR | XOR |
0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 |
0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 |
1 | 0 | 0 | 1 | 0 | 0 | 1 | 1 |
1 | 1 | 0 | 0 | 1 | 0 | 1 | 0 |
実際の回路でも同じ順番で並ぶように設計してみた。
表1. 部品リスト
- R1-6: 1/6W 1.5kΩ, https://akizukidenshi.com/catalog/g/g116152/
- R7,R8: 1/6W 10kΩ, https://akizukidenshi.com/catalog/g/g116103/
- SW1,2: 3Pトグルスイッチ, https://akizukidenshi.com/catalog/g/g102399/
- D1-6: 発光ダイオード, https://akizukidenshi.com/catalog/g/g104768/ (たぶんこれ)
- T1-6: 2SC1815, https://akizukidenshi.com/catalog/g/g117089/
- IC1-4: U74HC00, https://akizukidenshi.com/catalog/g/g114052/
- 配線: ポリウレタン銅線, https://akizukidenshi.com/catalog/g/g110332/
実際のICで実現すると結構配線が大変で、ユニバーサル基盤で実現するときにはポリウレタン銅線を多用した。
ICを使うのでパスコン(0.1uF)を申し訳程度につけてみた。(写真に写っていないが、ICの上側にある。あと、電源側のパスコン(100uFの電解コンデンサ)は買ってきたのにつけ忘れた。
左側のスイッチがA,右側のスイッチがB, 各LEDは左からNOT, NAND, AND, NOR, OR, XORの順で並んでおり1になると光る。
各状態を以下に示す。
NOT: 1, NAND: 1, AND: 0, NOR: 1, OR: 0, XOR: 0
NOT: 0, NAND: 1, AND: 0, NOR: 0, OR: 1, XOR: 1
NOT: 1, NAND: 1, AND: 0, NOR: 0, OR: 1, XOR: 1
NOT: 0, NAND: 0, AND: 1, NOR: 0, OR: 1, XOR: 0
まとめ
NANDロジックで様々な汎用ロジックを作ることができるらしいので組み合わせて作ってみた。
今回はNANDを使ってNOT, AND, OR, NOR, XORロジックを実際の回路でつくることができることを確認した。
ちょっと小さい基盤に作ったら目も当てられない感じの裏側になっている。。。