Program Counter【NandGame編】
はじめに
いつもブログをご覧いただきありがとうございます。
コーストFIRE中のIPUSIRONです😀
Program Counterレベル
Program Conterレベルのゴールは、プログラムカウンターの回路を組むことです。
入力st=0のとき、内部のPC値をインクリメントします。
割り込み(sw=1かつmd=1)が発生した際は、PC値をゼロに初期化します。
Program Counterレベルを解く
直前に解いたRegister with backupレベルの回路に対応するregisterコンポーネントが用意されているので、キャンバスに配置します。
PC値をインクリメントする処理を組み込みます。
指定アドレスにジャンプする仕組みとして、入力側にj端子とX端子があります。jはjumpフラグだと解釈して、セレクターで上書きするPC値を切り替えるようにします。
入力側のsb端子、sw端子、md端子をそのままregisterコンポーネントの同一名のピンに直結します。
リセット時にはPC値をゼロにするので、registerコンポーネントのX0ピンには0を与えます。
registerコンポーネントは、st=1のときの挙動を期待しているので、常に1を与えておきます。
テストにパスすると、クリアになります。