Vengineerの妄想(準備期間)

人生は短いけど、長いです。人生を楽しみましょう!

UVM 1.0 : examples/integrated/codec (その2)


UVM 1.0 : examples/integrated/codec (その1)の続きで、ほぼ1ヶ月ぶり。

run_test()が実行されているのは、test.svファイルです。
このファイル内のtestプログラム(program)の中です。
どうもprogramとmoduleの一貫性がありませんね!
下記のように必要ないところを削除すると、UVMの基本パターンになりますね!
そして、tb_top.sv内の3つのインターフェースへの設定も行っています。
Virtual Interfaceについては、UVM 1.0 : examples/simple/interfacesで説明しました。
    program test;

      // 途中略

      tb_env env;

      initial begin

        env = new("env");

        uvm_config_db#(tb_ctl_vif)::set(null, "env",     "vif", tb_top.ctl );
        uvm_config_db#(apb_vif)::set(   null, "env.apb", "vif", tb_top.apb0);
        uvm_config_db#(vip_vif)::set(   null, "env.vip", "vif", tb_top.vip0);

        run_test();

      end

    endprogram

検証、Verification、SystemVerilog、UVM、Unified Verification Methodology