-
Vitis プラットフォーム プロジェクトにインスタンシエートされたすべての
ipc_axis_<master/slave>
IP モジュールに対して、同様のミラー IP モジュールが作成されます。 - これらのミラー モジュールのサンプル ソース コードは、https://github.com/Xilinx/Vitis_Accel_Examples/tree/master/emulation/external_traffic_generator/example を参照してください。
-
ipc_axis_master_mirror
: Vitis プラットフォームで開始されたipc_axis_master
IP に対するミラー モジュールのソース コード例:- sim_ipc_axis_master_mirror.h
- sim_ipc_axis_master_mirror.cpp
- sim_ipc_axis_master_mirror.sv
-
ipc_axis_slave_mirror
: Vitis プラットフォームで開始されたipc_axis_slave
IP に対するミラー モジュールのソース コード例:- sim_ipc_axis_slave_mirror.h
- sim_ipc_axis_slave_mirror.cpp
- sim_ipc_axis_slave_mirror.sv
-
utils: このディレクトリには、ミラー モジュールに必要なユーティリティ ファイルが含まれています。
- sim_ipc_axis_master.h
- sim_ipc_axis_master.cpp
- sim_ipc_axis_slave.h
- sim_ipc_axis_slave.cpp
- run.sh: このファイルは、ミラー モジュールのコンパイル、エラボレーション、およびスクリプトの例です。
-
- 各ミラー モジュールにはスタブ システム Verilog モジュールがあり、信号が接続される Traffic Generator トップにインスタンシエートする必要があります。このモジュールは、AXI4-Stream バス プロトコル用のピン レベルのバス インターフェイスを提供します。このバス インターフェイスは、AXI4-Stream トラフィックを駆動する該当の SV インターフェイスまたは Traffic Generator RTL モジュール インターフェイスに接続されます。このスタブ SV モジュールは、SystemC モジュールをインプリメントするためのプレースホルダーです。SystemC モジュールには、ピン レベルの信号を
axis_payload
(TLM ペイロード) に変換するトランザクターがあります。このペイロードは、google protobuf
を使用してシリアライズされ、ソケット通信を介して Vitis エミュレーション プロセスに送信されます。Vitis エミュレーション プロセスでは、ipc_axis_<master/slave>
IP の場合、このペイロードがデシリアライズされ、ピン レベルに変換され、ユーザー カーネルのバス インターフェイスに駆動されます。 - SystemC モデルは、その下にあるさまざまなライブラリを使用します。Vivado のインストールには、すべてのライブラリ バイナリおよびヘッダーが含まれます。サンプルの run.sh スクリプトには、これらのすべてのライブラリとヘッダーへのパスが含まれます。
- 上記のミラー モジュール ソースに関する情報を例として使用し、独自のミラー モジュールを開発します。
- 提供されているスクリプト (run.sh) を参考に、コンパイル、エラボレーション、およびシミュレーション スクリプトを記述できます。