同じ手法を使用して、外部の SystemVerilog/Verilog トラフィック ジェネレーター/テストベンチから AI エンジン シミュレータまたは x86 シミュレータへのトラフィックを駆動できます。
図 1. XTLM テストベンチの階層
AI エンジン ラッパー スタブ モジュール (aie_wrapper_ext_tb.v) を生成するには、次の手順を実行します。
- ラッパー スタブは、ADF グラフの外部 PLIO 宣言に基づいて生成されます。ADF グラフをコンパイルして、./Work/config/scsim_config.json ディレクトリに scsim_config.json ファイルを生成する必要があります。このコンフィギュレーション ファイルには、グラフで宣言されている PLIO の情報が含まれます。ADF グラフのコンパイルと外部 PLIO の宣言方法については、 『AI エンジン ツールおよびフロー ユーザー ガイド』 (UG1076) を参照してください。
- このコンフィギュレーション ファイルを 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 モジュールを含むラッパー スタブ モジュール内に含まれます。このラッパーは、上図のように外部テストベンチにインスタンシエートして、接続を確立する必要があります。