SV/Verilog でのトラフィック ジェネレーターの記述 - 2021.2 Japanese

Vitis 統合ソフトウェア プラットフォームの資料: アプリケーション アクセラレーション開発 (UG1393)

Document ID
UG1393
Release Date
2022-03-29
Version
2021.2 Japanese

次に説明するように、System Verilog/Verilog で記述された既存のテストベンチを使用しても、テストベンチ階層をわずかに変更するだけで、トラフィックを生成できます。

図 1. テストベンチ階層

上の図に示すように、外部テストベンチ (左側) と Vitis エミュレーション (右側) は、両方とも別々のシミュレーション プロセスとして実行されます。IPC を使用して 2 つのプロセス間の通信を確立するには、SIM_IPC マスター/スレーブ モジュールをインスタンシエートする必要があります。

次の変更を加えます。

  1. Vitis エミュレーション デザインに IPC モジュールを追加します。これらは、あらかじめパッケージされた XO として提供されており、v++ コマンド ラインを使用して挿入できます (ストリーミング トラフィック用の AXI4-Stream I/O モデル を参照)。
  2. SV/V テストベンチに SIM IPC モジュールを追加します。Traffic Generator トップ内に ipc_axis_master_mirror モジュールをインスタンシエートし、SV インターフェイスを介してピン レベルで接続します。ipc_axis_master_mirror はピン レベルの AXI トランザクションを generic_payload に変換し、IPC ソケットを介して Vitis エミュレーション デザインの ipc_axis_master モジュールに送信します。同様に、Vitis エミュレーション デザインの ipc_axis_slave モジュールに接続するために、Traffic Generator トップにインスタンシエートされた ipc_axis_slave_mirror モジュールもあります。