Vengineerの妄想

人生を妄想しています。

UVM 1.0 : examples/simple/sequence/basic_read_write_sequence (その1)


この例題は、あくまでもシーケンスってこんな感じよ!というコードのようなのでDUTがありません。
コードは、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