この例題は、あくまでもシーケンスってこんな感じよ!というコードのようなのでDUTがありません。
コードは、top.svにまとめられています。
コードは、top.svにまとめられています。
トップテストベンチは、top.svファイルの最後にあるtopで、programではなくmoduleになっています。
どうも一貫性がありません。
module top;
import user_pkg::*; // user_pkgパッケージをインポート
import uvm_pkg::*; // uvm_pkgパッケージをインポート
// 動きますが、uvm_pkgが先にした方がいいと思う
env e; // envクラスのインスタンスe
initial begin
// マクロなのでセミコロンは、必要ないです。。
`uvm_info("top","In top initial block",UVM_MEDIUM);
e = new("env", null); // インスタンスの生成
run_test(); // テストを実行
end
endmodule
initialブロックの中でenvクラスのインスタンスeを生成し、run_testタスクを実行するだけです。この部分には、特に新しいモノはありません。
検証、Verification、SystemVerilog、UVM、Unified Verification Methodology