randomize()の効果を試してみるの2回目→DMACで試す。

イメージ 1

randomize()の効果を試してみるの2回目→DMACで試してみた。

  DMAC回路 12bitのメモリ空間より32bitのメモリ空間へ転送で1チャネルのみ。
グラフにすると平行線になって100%に到達できず。。汗

 詳細リザルトを見るとstatusのリード, fifoのfull flag, データ取りこぼしのflagがcover出来ず。。

よく考えると動作する範囲でしか設定値を発生してない。
バスが空ているので内蔵fifoがfullにならずだらだらとデータ垂れ流し状態。。。
結果は当たり前か、もうちょい負荷をかけないと。。
そういえばCQ出版のVMMマニュアルにはトランザクション(DMACの値設定API)もrandomoize()の対象にするようにと有ったな。

とりあえず次はトランザクションを記述子を介して発行する&チャネルを増やしてデータの密度を増やすで改造し→記述子をrandomize_ptm()してみるか。

 注)今回DMAC用に作成したトランザクション
* DMACレジスタの設定
read(read_addr)
write(write_addr, write_data)
   * その他の信号制御
ioctl(その他信号選択、設定)

トランザクションはinterface文に入れた→STARCのTLモデリングガイドのどこかに
  そうしろと有ったような気がしたので。。

systemverilog ovl VMM 検証 randomize modelsimPE