Verification Engineerの戯言
OVMでは、各コンポーネントがそのサブコンポーネントに対し、コンフィギュレーションを指定することができます。
実際には、各コンポーネントのbuild関数内でコンフィギュレーションを、set_config_xxx/get_config_xxx関数を使って設定します。
つまり、ovm_componentクラスを継承するクラス(OVMでは、ovm_transactionとSequence関連クラス以外のクラス)では、コンフィギュレーションができます。
build関数は、ovm_componentクラスのvoid型の仮想関数として宣言されています。
このbuild関数内でテストベンチ内の設定を変えることができることは、ovm_testクラスの例題でも見てきました。
実際には、各コンポーネントのbuild関数内でコンフィギュレーションを、set_config_xxx/get_config_xxx関数を使って設定します。
つまり、ovm_componentクラスを継承するクラス(OVMでは、ovm_transactionとSequence関連クラス以外のクラス)では、コンフィギュレーションができます。
build関数は、ovm_componentクラスのvoid型の仮想関数として宣言されています。
virtual function void build();build関数を実装コード内で直接コールすることはありません。post_newフェーズで呼び出されます。
このbuild関数内でテストベンチ内の設定を変えることができることは、ovm_testクラスの例題でも見てきました。
検証、Verification、SystemVerilog、OVM、Open Verification Methodology