復習 - 再利用可能なビットマスク
CoddyのVerilogジャーニー「RTL設計と検証」セクションの一部。レッスン 15/38。
チャレンジ
中級WIDTHビットのビットクリア回路を、名前付きのgenerateループで構築してください。各出力ビットは、対応する位置の a のビットと、その位置の b の逆の値との AND になります。b はクリアマスクです。WIDTHは正の値です。ロックされたテストベンチは、WIDTHの値として 1、4、8 をインスタンス化し、幅の狭いインスタンスでは a と b の下位ビットを使用します。出力列は10進数の y1、y4、y8 です。
design.vを完成させ、モジュール名とポートを保持してください。ロックされたtestbench.vは入力を変更し、値が安定した後に出力を表示します。+CASE=1のようなシミュレータ引数を使用してシナリオを選択します。標準入力は必要ありません。design に表示、遅延、またはシミュレーション終了処理を追加しないでください。期待される出力は、各観測につき10進数値を1行に1つ出力し、値同士は1つのスペースで区切り、改行で終わります。
自分で試してみよう
module dut #(parameter WIDTH=4) (input [WIDTH-1:0] a,b, output [WIDTH-1:0] y);
// パラメータ化された回路を実装する。
assign y = 0;
endmoduleRTL設計と検証のすべてのレッスン
自分で練習してみよう: Verilogオンラインコンパイラ