Verification Engineerの戯言
SystemVerilogでは、シミュレーションを終了するには、$finishシステムタスクをコールします。
OVMでは、$finishシステムタスクではなく、global_stop_requestタスクを呼びます。
global_stop_requestタスクは、ovm_componentクラスのstaticなタスクとして定義されています。
ovm_componentクラスで定義されているので、ovm_componentクラスを間接的に継承するovm_test、ovm_env、ovm_driver、ovm_sequencerなどから呼び出すことができます。
global_stop_requestタスクは、ovm_componentクラスのstaticなタスクとして定義されています。
ovm_componentクラスで定義されているので、ovm_componentクラスを間接的に継承するovm_test、ovm_env、ovm_driver、ovm_sequencerなどから呼び出すことができます。
たとえば、テストシナリオ(ovm_testクラス)でシミュレーション開始後、ある時間後にglobal_stop_requestタスクを呼び出したり、スコアボード(ovm_scoreboardクラス)でスコア条件に到達したときなどに使えます。
テストシナリオについては、ovm_testクラスの例題でも見てきました。
テストシナリオについては、ovm_testクラスの例題でも見てきました。
検証、Verification、SystemVerilog、OVM、Open Verification Methodology