create/use xtlm_ipc_verilog_stub モジュールの使用方法 - 2022.1 日本語

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

Document ID
UG1393
Release Date
2022-05-25
Version
2022.1 日本語
  1. 各 xtlm_ipc_verilog_stub モジュールには、次の 3 つのファイルが含まれている必要があります。
    • System Verilog ラッパー: このモジュールは、AXIS バス プロトコル用のピン レベルのバス インターフェイスを提供します。このモジュールは、User TG 最上位モジュールにインスタンシエートする必要があり、このバス インターフェイスは、対応する SV インターフェイスまたは AXIS トラフィックを駆動するまたはトラフィック ジェネレーター (RTL モジュール) インターフェイスに接続する必要があります。このスタブ SV モジュールは、SystemC モジュールをインプリメントするためのプレースホルダーです。
    • SystemC ヘッダー ファイル (.h): このファイルには、systemc モジュールの宣言が含まれています。
    • SystemC インプリメンテーション ファイル (.cpp): SystemC モジュールのインプリメンテーションには、ピン レベルの信号を axis_payload (tlm ペイロード) に変換するトランザクターがあります。このペイロードは、Google の protobuf を使用してシリアライズされ、ソケット通信を介して Vitis エミュレーション/AI エンジン シミュレータ/x86-Simulation プロセスに送信されます。Vitis エミュレーション/AI エンジン シミュレータ/x86-Simulation プロセスでは、対応する xtlm_ipc_<master/slave> でこのペイロードがデシリアライズされ、AI エンジン/PL カーネルに駆動されるピン レベル/TLM ペイロード (ターゲットごと) に変換されます 。
  2. 次のモジュールが、さなざまな TDATA_WIDTH 設定で前もってパッケージされたソースとして提供されています。$XILINX_VIVADO/data/emulation/ip_utils/xtlm_ipc/xtlm_ipc_v1_0/sv は 32 ビット、64 ビット、および 128 ビットの幅設定で使用可能です。
    • xtlm_ipc_aie2pl<width>.sv
    • xtlm_ipc_aie2pl<width>.cpp
    • xtlm_ipc_aie2pl<width>.h
    • xtlm_ipc_pl2aie<width>.sv
    • xtlm_ipc_pl2aie<width>.cpp
    • xtlm_ipc_pl2aie<width>.h
  3. 別の設定が必要な場合は、上記のパスにあるファイルを参照に、手動で作成することもできます。
  4. xtlm_ipc_verilog_stub モジュールには、次の 2 つのファイルがさらに必要とされます。これらのファイルは、Vivado をインストールすると含まれ、コンパイルする必要があります。
    • $XILINX_VIVADO/data/emulation/hw_em/ip_repo/sim_ipc_axis_slave_v1_0/sysc/ sim_ipc_axis_slave.cpp
    • $XILINX_VIVADO/data/emulation/hw_em/ip_repo/sim_ipc_axis_master_v1_0/sysc/sim_ipc_axis_master.cpp
    注記: これらのディレクトリにはさらにヘッダー ファイルも含まれるので、コンパイルでパスが含まれるように追加しておく必要があります。
  5. SystemC モデルは、その下にあるさまざまなライブラリを使用します。Vivado のインストールには、すべてのライブラリ バイナリおよびヘッダーが含まれます。
  6. テスト ベンチでの xtlm_ipc_verilog_stubs の使用と統合の詳細は、チュートリアルとサンプル デザインを参照してください。コンパイル、エラボレーション、およびシミュレーション スクリプトの例も含まれています。