外部 RTL トラフィック ジェネレーターと AI エンジンのシミュレーション - 2023.2 日本語

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

Document ID
UG1393
Release Date
2023-12-13
Version
2023.2 日本語

同じ手法を使用して、外部の SystemVerilog/Verilog トラフィック ジェネレーター/テストベンチから AI エンジン シミュレータまたは x86 シミュレータへのトラフィックを駆動できます。

図 1. XTLM テストベンチの階層

AI エンジン ラッパー スタブ モジュール (aie_wrapper_ext_tb.v) を生成するには、次の手順を実行します。

  1. ラッパー スタブは、ADF グラフの外部 PLIO 宣言に基づいて生成されます。ADF グラフをコンパイルして、./Work/config/scsim_config.json ディレクトリに scsim_config.json ファイルを生成する必要があります。このコンフィギュレーション ファイルには、グラフで宣言されている PLIO の情報が含まれます。ADF グラフのコンパイルと外部 PLIO の宣言方法については、 『AI エンジン ツールおよびフロー ユーザー ガイド』 (UG1076) を参照してください。
  2. このコンフィギュレーション ファイルを gen_aie_wrapper.py スクリプトの引数として使用すると、ADF グラフで宣言された ext PLIO に基づいて Verilog スタブ モジュールを自動的に生成できます。
    python3 ${XILINX_VITIS}/data/emulation/scripts/gen_aie_wrapper.py \
    -json Work/config/scsim_config.json --mode <wrapper/vivado> 
    ヒント: Python スクリプトは、上記の例のように、Vitis のインストール ディレクトリにあります。スクリプトには、ラッパーと Vivado の 2 つのモードがあります。デフォルトでは、スクリプトは Vivado モードで実行されます。

インスタンス スタブの名前は、グラフ内の対応する外部 PLIO の名前と同じにする必要があり、生成される aie_wrapper_ext_tb.v ファイルに反映されます。

gen_aie_wrapper.py スクリプトを実行すると、外部テストベンチに直接インスタンシエートできる sim_ipc_axis モジュールのインスタンスを含む aie_wrapper_ext_tb.v が生成されます。

注記: 外部トラフィック ジェネレーターと AI エンジン シミュレータ/x86sim との間でデータをやり取りするために使用されるモジュールは、XTLM IPC SystemC モジュールで、すべての XTLM IPC モジュールを含むラッパー スタブ モジュール内に含まれます。このラッパーは、上図のように外部テストベンチにインスタンシエートして、接続を確立する必要があります。