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