launch_emulator ユーティリティ - 2020.2 Japanese

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

Document ID
UG1393
Release Date
2021-03-22
Version
2020.2 Japanese

Arm サブシステムを含むエンベデッド プラットフォームでは、Vitis ツールで QEMU を使用して PS サブシステムがエミュレートされます。QEMU プロセスは RTL シミュレータ プロセスと共に実行し、ハードウェア エミュレーションでシステム全体をエミュレートする必要があります。launch_emulator は、QEMU を起動し、PL シミュレータ プロセスの同期を管理するユーティリティです。QEMU とシミュレーション プロセスを指定した引数を使用して実行します。Vitis IDE は、エミュレーターを開始および停止するのにこのコマンドを呼び出します。

ヒント: QEMU 内部のヘルプを参照するには、エミュレーター シェルで Ctrl + a h を押します。QEMU コマンドを終了するには、エミュレーター シェルで Ctrl + a x を押します。

エンベデッド プラットフォームでは、プラットフォームおよびターゲット アプリケーションに必要な引数を使用して launch_emulator コマンドを呼び出すため、--package オプション コマンドで launch_hw_emu.sh または launch_sw_emu.sh スクリプトが生成されます。

launch_hw_emu.sh または launch_sw_emu.sh ラッパー スクリプトを使用する際、コマンド ラインで launch_emulator に追加の引数を指定できます。スクリプトを実行するときに、コマンド ラインにオプションを追加します。これにより、使用するプラットフォームまたはアプリケーションをサポートするために必要に応じて launch_emulator ユーティリティをカスタマイズできます。

次の表に、使用可能なオプションを示します。

表 1. launch_emulator ユーティリティのオプション
オプション 有効な値 説明
-aie-device-file-path 該当なし AI エンジン アレイ サイズ情報へのポインター。
-aie-shim-sol-path 該当なし カーネルに必要な AI エンジン 制約を提供する AI エンジン shim ソリューション ファイルを指定します。
-aie-sim-config 該当なし AI エンジン の SystemC モデルに必要なさまざまな AI エンジン ファイルを提供する AI エンジン sim config ファイルを指定します。

これは、v++ パッケージにより自動的に渡されます。

AI エンジン デザインでは必須です。

-aie-sim-options 該当なし AI エンジン SystemC モジュールのデバッグに必要なさまざまな AI エンジン デバッグ フラグを持つ AI エンジン シミュレーション オプション ファイルを指定します。

オプション ファイルは、package.hw_emu/sim/behav_waveform/xsim/ を基準とした相対パスで指定する必要があります。

ヒント: このオプションは必須ではなく、AI エンジン にのみ適用されます。
-config-file コンフィギュレーション ファイル (INI フォーマット) コマンドに使用可能なオプションを指定するコンフィギュレーション ファイル。
-device-family 7Series | UltraScale | Versal プラットフォームのデバイス ファミリを指定します。

これは、v++ パッケージで生成される launch_hw_emu.sh または launch_sw_emu.sh スクリプト (ターゲットによって異なる) で自動的に渡されます。

これは、launch_emulator コマンドを直接使用する場合は、手動で渡す必要があります。

-emu-data 該当なし <Additional emulation Data files>: QEMU を実行する AI エンジン カーネルには shim ソリューション ファイルが必要です。

AI エンジン デザインではひっすです。

-enable-debug 該当なし QEMU と PL に 2 つの異なる XTERM を開くデバッグ モード。
重要: これは、バッチ モードを使用する場合に、フローおよび QEMU と PL プロセス間のハンドシェイクを理解するのに便利です。
-forward-port <target> <host> TCP ポートをターゲットからホストに転送します。
-g | -graphic-xsim | -sim-gui 該当なし プログラマブル ロジック シミュレータの GUI を起動します。
-gdb-port ポート番号 QEMU が <port> ポートの GDB 接続を待ちます。
-help 該当なし ヘルプ メッセージを表示します。
-kill <pid> 指定したエミュレーター プロセスを停止します。
-no-reboot 該当なし QEMU をリブートせずに終了します。組み込み Linux プロンプトで reboot -f コマンドを実行して QEMU を終了するために使用します。
-noc-memory-config <path/to/noc_memeory_config.txt> 該当なし デフォルトでは、v++ パッケージがデザイン コンフィギュレーションに基づいて NoC メモリ コンフィギュレーションを作成します。このファイルは、シミュレーション バイナリと並べて表示できます。このファイルは、シミュレーション バイナリ フォルダー内で指定したファイルを置き換えると上書きできます。-user-pre-sim-script オプションを使用して、noc_memory_config.txt ファイルをシミュレーションバイナリ ディレクトリにコピーし、適用されたコンフィギュレーションを取得します。
-pid-file ファイル名 後で -kill で使用するためプロセス ID をファイルに記述します。エミュレーションが問題なく実行された後、エミュレーションを停止するために Vitis ソフトウェア プラットフォームで使用されます。
-pl-sim-args シミュレータに渡す引数 シミュレータのコマンド ラインに追加する引数。pm-sim-args-file の代わりに使用します。
-pl-sim-args-file シミュレーション引数を含むファイルの名前 シミュレータに渡すオプションは、すべてこのファイルに含めることができます。
-pl-sim-dir シミュレーション ディレクトリ スクリプトを実行してプログラマブル ロジック シミュレータを起動するディレクトリを指定します。これは、v++ パッケージで生成されるスクリプトで自動的に渡されます。指定したディレクトリに simulate.sh というファイルが含まれている必要があり、ツールはこれを実行して PL シミュレータ (XSIM など) を起動します。
-pl-sim-script シミュレーション スクリプトの場所 上級ユーザーは、シミュレーションを起動する直接スクリプトを 1 つ含むことができます (Vivado ユーザーなど)。

このオプションを指定してスクリプトを実行する場合、ほかのオプションは無視されます。

-pmc-args PMC に渡す引数 PMC をエミュレートするするため MicroBlaze QEMU が実行されます。pmc_args.txt というファイルに記述する代わりに、PMC コマンド ラインに追加する必要のあるすべての引数を直接指定できます。-pmc-args-file の代わりに使用します。
-pmc-args-file PMC QEMU の引数を含むファイルの名前 PMU/PMC に渡す引数を含むファイル。特定の形式は、選択したプラットフォームのベース ファイルによって決まります。

これは、v++ パッケージで生成されるスクリプトで自動的に渡されます。

-ps-only 該当なし PS のみエミュレーション。PL エミュレーションなし
-qemu-args QEMU に渡す引数 qemu_args.txt というファイルに記述する代わりに、QEMU コマンド ラインに追加する必要のあるすべての引数を直接指定できます。qemu-args-file の代わりに使用します。
-qemu-args-file PS QEMU の引数を含むファイルの名前 QEMU に渡す引数を含むファイル。これは特定のフォーマットで、選択したプラットフォームからベース ファイルをフェッチします。これは、v++ パッケージで生成されるスクリプトで自動的に渡されます。
-qspi-high-image QSPI ハイ イメージ ファイル

ブート モードで QEMU 引数として渡されるイメージ ファイル。これは、V++ パッケージで生成されるスクリプトで自動的に渡されます。

DUAL、QSPI モードを使用している場合にのみ必要です。

-qspi-image SD カード イメージ ファイル (qspi.bin) イメージ ファイルは、ブート モードで QEMU 引数として渡されます。これは、V++ パッケージで生成されるスクリプトで自動的に渡されます。

QSPI モードを使用する場合にのみ必要です。

-qspi-low-image QSPI ロー イメージ ファイル イメージ ファイルは、ブート モードで QEMU 引数として渡されます。これは、V++ パッケージで生成されるスクリプトで自動的に渡されます。

DUAL、QSPI モードを使用している場合にのみ必要です。

-run-sim-in-gdb 該当なし GDB でシミュレータを実行します。
-runtime c++/ocl C++ または OCL のランタイム フローを指定します。
-sd-card-image SD カード イメージ ファイル (sd_card.img) イメージ ファイルは、ブート モードで QEMU 引数として渡されます。これは、V++ パッケージで生成されるスクリプトで自動的に渡されます。

SD モードを使用している場合にのみ必要です。

-t | -target sw_emu または hw_emu sw_emu または hw_emu を実行するように指定します。

v++ で選択されたターゲットに基づいて、対応するスクリプトが v++ パッケージにより生成されます。

sw_emu ターゲットの場合は launch_sw_emu.sh が生成され、hw_emu ターゲットの場合は launch_hw_emu.sh が生成されます。

-timeout <n> <n> 秒後にエミュレーションを終了します。
-user-post-sim-script シミュレーション後に終了前に実行する必要のある Tcl スクリプトへのパス シミュレーション後に実行する操作を含む Tcl ファイルを作成し、そのファイルをこのオプションで指定します。
-user-pre-sim-script Tcl スクリプトへのパス 初回は GUI モードで launch_emulator を実行し、確認する信号を追加します。

Tcl コンソールからコマンドをコピーして Tcl スクリプトに保存します。

次の実行では、バッチ モードで Tcl スクリプトを渡します (launch_emulator -user-pre-sim-script <path_to_saved_tcl_script>)。

Vivado シミュレータのみサポートされます。

-vivado $XILINX_VIVADO VIVADO_LOC を設定します。これは、simulate.shsimulation/c-model libraries を読み込むために使用されます。
-wcfg-file-path 該当なし GUI シミュレーション中に開く XSIM で作成された wcfg ファイルを指定します。
-xtlm-aximm-log 該当なし このオプションは、2 つの SystemC モデル間のインターフェイス接続用の xTLM AXI4 トランザクション ログを生成します (アドレス/データ/サイズなどの情報を含む)。

実行中、エミュレーション ログは、次から入手できます (ディレクトリ構造は、使用する v++ オプションとシミュレータによって異なる場合があります)。

package.hw_emu/sim/behav_waveform/xsim/xsc_report.log

-xtlm-axis-log 該当なし このオプションは、2 つの SystemC モデル間のインターフェイス接続用に xTLM AXI4-Stream トランザクション ログを生成します。

実行中、エミュレーション ログは、次から入手できます (ディレクトリ構造は、使用する v++ オプションとシミュレータによって異なる場合があります)。

package.hw_emu/sim/behav_waveform/xsim/xsc_report.log