30. テストベクタの分離

「モデルを作成してみる」の項では、テストベンチトップのinitial文中にマスタのコマンドを

直接記述していました。でも本当なら、テストベンチ関係の記述とテストベクタの記述は

分離したくないでしょうか。

テストベクタの記述をテストベンチから分離させようと考えた場合、とりあえず以下が思いつきます。

  • SVでテストベクタを記述して、それをモデルの中でincludeさせて読み込ませる
  • DPI-C(DPI:Direct Programming Interface)を使って、テストベクタをCで記述

ここでは、DPI-Cを利用した方法について試してみようと思います。

また、DPI-Cを利用するといいことが3つあります。

  1. テストを追加しても、HDLの再コンパイルがいらない。レグレッションテストのときもHDLのコンパイルは1度でいい
  2. テストがCなので、実機評価で使い回しがきく
  3. Cで記述されたアルゴリズムを取り込める