OVM2.0を使用して自前のDMACの検証環境を作ってみるの続き。

前回動作しなかったのは、
  
エラボレーションerror→ インスタンス設定に間違いとbuild();の
   set_config_string("..............
で設定するsequences名のつまらん書き間違え。。。
と言うことでsequencer→driverへデータを渡すことが出来るようになった。
波形も出るようになった。。喜

 ・トピック modelsimPE向け。。
    `ovm_doの類はmacro展開せずに手打ちで行い
   req.randomize_ptm()を追加する→当然データを記述しているクラスへ、
     xbusで言えばxbus_transferの中に
function randomize_ptm() ;
.....
endfunction
    を入れておく。
assert文は使用しないので削除。。。
     →randomize_ptm()がギブアップした == 中身のプログラムが書けなかった時なので。。
不要。

 記述例       
   注) インスタンスのreqは任意な名前では無いことに注意すること。
req.print()で中身をコンソールへ出力してくれる。
---------------------------------
 req = new("") ;
`ovm_create(req) ;
start_item(req) ;
   req.randomize_ptm()
req.read_write = WRITE ;
finish_item(req) ;
req.print() ;
----------------------------------
`ovm_do_withを使いたければ
randomize_ptm()の後
  下記の様に値を再設定してくれ。
req.read_write = WRITE ;

systemverilo OVM OVM2.0 modelSim PE LSI検証 回路検証