Vengineerの妄想(準備期間)

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

OVM : global_stop_requestタスク

Verification Engineerの戯言

SystemVerilogでは、シミュレーションを終了するには、$finishシステムタスクをコールします。

OVMでは、$finishシステムタスクではなく、global_stop_requestタスクを呼びます。
global_stop_requestタスクは、ovm_componentクラスのstaticなタスクとして定義されています。
ovm_componentクラスで定義されているので、ovm_componentクラスを間接的に継承するovm_testovm_envovm_driverovm_sequencerなどから呼び出すことができます。

たとえば、テストシナリオ(ovm_testクラス)でシミュレーション開始後、ある時間後にglobal_stop_requestタスクを呼び出したり、スコアボード(ovm_scoreboardクラス)でスコア条件に到達したときなどに使えます。
テストシナリオについては、ovm_testクラスの例題でも見てきました。

検証、Verification、SystemVerilog、OVM、Open Verification Methodology