回答編集履歴

1

追記

2022/06/06 02:51

投稿

ozwk
ozwk

スコア13528

test CHANGED
@@ -1,2 +1,12 @@
1
1
  CDIVから0まで数えるカウンタを用意し、
2
2
  もとのカウンタはこのカウンタが0のときにカウントアップするようにします
3
+
4
+ ---
5
+
6
+ というか参考にしているという[サイト](https://www.acri.c.titech.ac.jp/wordpress/archives/11224)にそう書いてあります。
7
+
8
+
9
+ > 回路の中身は、カウンタ2つとデコーダを組み合わせることで作れそうです。ナイトライダー回路の内部構造を上図に示します (リセット入力は省略しています)。
10
+ > 第1のカウンタは、待ち時間 CDIV まで数えたかどうかを判断する、CDIV 進のカウンタです。第2のカウンタは、左端の LED が点灯した時を 0 として、何回 LED が切り替わったかを数えます。左端の LED が最初に点灯してからもう1度点灯するまでの間には6回の LED 切り替えが必要ですから、第2のカウンタは6進カウンタとなります。カウンタ1が最後まで数え終わる (TC; Terminal Count) と、カウンタ2が有効 (EN; ENable) となりインクリメントされます。最後に、カウンタ2の値 (C; Count) を、デコーダ回路でLED の点灯/消灯に変換すれば完成です。
11
+ > 以上を Verilog HDL で記述すると、以下のソースコードが得られます。
12
+