Logic Gates【NandGame編】
目次
はじめに
いつもブログをご覧いただきありがとうございます。
コーストFIRE中のIPUSIRONです😀
NANDレベル
NANDレベルのゴールは、用意された2タイプのリレーを使って、NAND回路を作ることです。
NANDレベルを解く
2つのリレーの出力ピンを同時にOutputに接続できれば、デフォルトON型のリレーを2つでNAND回路を実現できます。並列に並べるようになります。
※『CODE』を持っていれば、P.157を参照してください。
しかし、NandGameの仕様上そういった接続ができません。そこで、2つのInputをデフォルトOFF型のリレーに接続します。そのリレーの出力を、次段のデフォルトON型のリレーの制御ピンに接続します。
つまり、異なるタイプのリレーが直列に並びます。
Invertレベル
Invertレベルのゴールはnandコンポーネントを用いて、Invert回路(NOT回路、反転回路)を作成することです。
Invertレベルを解く
NAND回路の真理値表において、2入力が同一のパターン、すなわち「0と0」あるいは「1と1」のパターンに注目します。すると、その入力を反転したものが常に出力されます。
A | B | Y(=NAND(A,B)) |
---|---|---|
0 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 0 |
Andレベル
Andレベルのゴールは、nandコンポーネントとinvコンポーネントを使ってAND回路を作ることです。
Andレベルを解く
これは簡単です。NANDという名前の通り、ANDをNOTしたものです。
よって、NANDをさらにNOTすれば、NOTとNOTが相殺し合って、ANDだけが残ります。
Orレベル
Orレベルのゴールは、与えられたコンポーネント(and、nand、inv)を使ってOR回路を作ることです。
Orレベルを解く
次の記事を参考にすると、nandコンポーネントの入力にinvコンポーネントを通せばよいことがわかります。
Invert、And、Orステージをクリアすると、以降のステージで正解の回路を組んだときに何個Nandを使ったのか計算してくれます。
Xorレベル
Xorレベルのゴールは、与えれたコンポーネント(nand、inv、and、or)を使ってXOR回路を作ることです。
Xorレベルを解く
解答はいろいろありますが、個人的に好きなNANDを4つ使うアプローチを採用します。
別解については次の記事を参照してください。