まとめ - 加算器監査
CoddyのVerilogジャーニー「RTL設計と検証」セクションの一部。レッスン 30/38。
チャレンジ
中級4ビット符号なし加算器の audit を実装してください。スコアボードのレッスンと同様に checked と errors を累積し、カバレッジビットを保持してください。ビット 0 は a=b=0、ビット 1 は a=b=15、ビット 2 はその他すべての入力ペアを示します。actual と完全な5ビットの合計を、4状態不等号を使用して比較してください。呼び出し側がすべてのカウンターとフラグを初期化します。このモジュールには、ロックされたテストベンチから呼び出されるシミュレーション専用の task が含まれます。出力列は checked、errors、seen です。
design.v を完成させ、モジュール名とポートを維持してください。ロックされた testbench.v が入力の変更を提供し、値が確定した後に出力を表示します。+CASE=1 のようなシミュレーター引数を使用してシナリオを選択します。標準入力は必要ありません。ロックされたテストベンチでの表示とシナリオ制御はそのままにし、task の本体のみを実装してください。期待される出力は、観測ごとに10進数値の行を1行ずつ出力し、値は1つのスペースで区切り、改行で終了します。
自分で試してみよう
module dut;
task audit;
input [3:0] a,b;
input [4:0] actual;
inout integer checked,errors;
inout [2:0] seen;
reg [4:0] expected;
begin
// チェッカータスクを完成させてください。
checked=checked;errors=errors;seen=seen;
end
endtask
endmoduleRTL設計と検証のすべてのレッスン
自分で練習してみよう: Verilogオンラインコンパイラ