Vengineerの妄想(準備期間)

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

OVMとVMMの違い:transactorへのvirtual interfaceの渡し方

Verification Engineerの戯言

VMMでは、transactorへのvirtual interfaceの渡し方がRule 4-108で次のように定義されています。
Physical interfaces shall be specified using a virtual modport interface as an argument to the transactor contstructor.

つまり、transactorのコンストラクタの引数として、virtual interfaceを指定します(Example 4-54)。

一方、OVMでは、Factoryを使って、transactorを生成するので、VMMのようにコンストラクタの引数としてvirtual interfaceを
指定することができません。では、どのようにしているのでしょうか?

その例としては、Step-by-step Functional Verification with SystemVerilog and OVM
13.6.3 XBar Interface VCProgram 13.11 : XBar interface verification componentassign_viという関数でvirtual interfaceを設定しています。このassign_viという関数はケイデンスのOVMでは暗黙のルールになっているようです。
では、MentorのOVMではどのようになっているのでしょうか? 残念ながらOMVソースコードにはありません。

OVMでは、VMMのようにきちんとしたルールが無いのでこんなことが起こってしまいます。
早く、ドキュメントを完備してもらいたいです。
よろしくね!

検証、Verification、e、SystemVerilog、OVM、Open Verification Methodology、VMM、Verification Methodology Manual