Verification Engineerの戯言
AVMにおけるavm_envクラスは、OVMではovm_envクラスになります。
AVMでは、テストの開始はavm_envクラスのdo_testタスクを実行します。
AVMでは、テストの開始はavm_envクラスのdo_testタスクを実行します。
initial e = new("env", .... ); e.do_test(); $finish; end一方、OVMテストの開始はovm_envクラスのrun_testタスクを実行します。
initial e = new("env", .... ); e.run_test(); end(ovm_envクラスでもdo_testタスクもサポートはしていますが、run_testタスクを使うべき)
それから、ovm_envクラスのrun_taskタスクではなく、グローバルなrun_testタスクでもOKのようです。
initial e = new("env", .... ); run_test(); endグローバルなrun_testタスクは、内部でovm_envクラスのrun_testタスクを実行しているだけです。
注意)、
avm_envクラスの例では、$finishを実行していますが、ovm_envクラスの例では、$finishを実行していません。その理由は、デフォルトではrun_testタスク内で$finishを実行するようになっています。
avm_envクラスの例では、$finishを実行していますが、ovm_envクラスの例では、$finishを実行していません。その理由は、デフォルトではrun_testタスク内で$finishを実行するようになっています。
それから、ovm_envクラスではテスト名をシミュレーション時の引数(OVM_TESTNAME)で指定することができます。シミュレータへの引数は、+OVM_TESTNAME=<test_name>のようになります。
検証、Verification、SystemVerilog、OVM、Open Verification Methodology、
AVM、Advanced Verification Methodology
AVM、Advanced Verification Methodology