Saving Bytes【Turing Complete編】
はじめに
いつもブログをご覧いただきありがとうございます。
コーストFIRE中のIPUSIRONです😀
Saving Bytesステージ
Saving Bytesステージのゴールは、バイトデータをセーブとロードできる回路を組むことです。
【入力】
・Input 0:ロード用。ONのときに記憶している1バイトデータをロードして、出力する。
・Input 1:セーブ用。ONのときに入力データを記憶する。
・データ:1バイト(8ビット幅)
【出力】
・データ:1バイト
出力ピンにはenableピンが備わっていて、ロード時のみ出力ピンが有効になります。
Saving Bytesステージを解く
1:1バイトを記憶する仕組みを考える
1 Bit memoryコンポーネントを使えば、1ビットを記憶できます。
1バイトを記憶する必要があるので、同時に1 Bit memoryコンポーネントを8個使えばよいことになります。
中央に8個の1 Bit memoryコンポーネントを並べます。
2:入力データを処理する
各1 Bit memoryコンポーネントには、Save enableとSave valueの2つの入力があります。
入力から来るバイトをByte Splitterで分離し、各ビットは1 Bit memoryコンポーネントのSave valueに接続します。
残ったSave enableについては、セーブ用のInput 1と接続します。
3:出力データを組み立てる
各1 Bit memoryコンポーネントの出力を、8 Bit Makerに入力して1バイトデータします。後はこれを出力ピンに接続します。
4:出力ピンの有効・無効を制御する仕組みを実装する
未接続なのは、Input 0と「出力ピンのenableピン」です。回路の定義より、この2つの直結すればよいとわかります。
以上で回路が完成します。
クリアすると、8 Bit Registerコンポーネントがアンロックします。