当サイトの一部ページには、アフィリエイト・アドセンス・アソシエイト・プロモーション広告を掲載しています。

Amazonのアソシエイトとして、Security Akademeiaは適格販売により収入を得ています。

広告配信等の詳細については、プライバシーポリシーページに掲載しています。

消費者庁が、2023年10月1日から施行する景品表示法の規制対象(通称:ステマ規制)にならないよう、配慮して記事を作成しています。もし問題のある表現がありましたら、問い合わせページよりご連絡ください。

参考:令和5年10月1日からステルスマーケティングは景品表示法違反となります。 | 消費者庁

Counter【NandGame編】

はじめに

いつもブログをご覧いただきありがとうございます。

FIRE生活中のIPUSIRONです😀

IPUSIRONのプロフィールを見る

Counterレベル

Counterレベルのゴールは、カウンター回路を組むことです。

カウンター回路は、クロック信号の度に出力値をインクリメントしていきます。

入力・st:ストアフラグ。
1なら、入力値Xを新しいカウンター値として使う。
・cl:クロック信号。
「0⇒1」で内部カウンター値をインクリメントして出力する。
・X:上書きするためのカウンター値。
出力・Output:カウンター値。16ビット。
※常に内部のカウンター値を出力し続ける。
組むべき回路の入出力

Counterレベルを解く

1:使うコンポーネントを選定する

本ステージではregisterコンポーネントが用意されています。このコンポーネントは16ビットのD-FFです。せっかくなので活用しましょう。

registerコンポーネント

そして、インクリメントするには、inc 16コンポーネントがピッタリです。

inc 16コンポーネント

X端子からくる上書き用のカウンター値を使うか、内部カウンター値を使うかは、select 16コンポーネントが適しています。

select 16コンポーネント

2:回路を実装する

registerコンポーネントの出力値をインクリメントして、ぐるりと回してregisterコンポーネントの入力Xに戻ってくるようにします。

registerコンポーネントで内部カウンター値を保持します。clピンが1なら内部カウンター値を出力し、0ならXピンの値を保持した上で出力します。つまり、stピンは常に1で問題ありません。

当該回路のstフラグが0ならXのルートを選択し、1ならインクリメントした値のルートを選択します。

この回路は4つのコンポーネントを使い、内部的には610個のNandゲートで構成されています。