復習 - イベントカウンタ
CoddyのVerilogジャーニー「RTL設計と検証」セクションの一部。レッスン 20/38。
チャレンジ
中級同期信号 sig の立ち上がり遷移をサンプリングし、4ビットの count でカウントします。15で飽和させます。同期 rst はカウントと前回のレベルをクリアします。リセット直後に sig がHighの場合は、立ち上がりイベントとしてカウントします。出力列: count。すべての制御信号とデータは、各立ち上がりクロックエッジの前に安定しており、結果はその後に観測されます。
design.vを完成させ、モジュール名とポートを保持してください。ロックされたtestbench.vが入力の変化を供給し、安定した後に出力を表示します。シミュレータ引数(+CASE=1など)を使用してシナリオを選択します。標準入力は必要ありません。設計に表示、遅延、またはシミュレーション終了処理を追加しないでください。期待される出力は、各観測につき10進値1行で、値は1つのスペースで区切られ、改行で終わります。
自分で試してみよう
module dut (input clk, input rst, input sig, output reg [3:0] count);
// このプレースホルダーをあなたのデザインに置き換えてください。
initial count = 0;
endmoduleRTL設計と検証のすべてのレッスン
自分で練習してみよう: Verilogオンラインコンパイラ