launch_emulator ユーティリティ - 2020.1 Japanese

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

Document ID
UG1393
Release Date
2020-08-20
Version
2020.1 Japanese

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

エンベデッド プラットフォームでは、プラットフォームおよびターゲット アプリケーションに必要な引数を使用して 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 ユーティリティのオプション
オプション 有効な値 説明
-add-env "<name>=<value>" QEMU/PMC/シミュレータを起動する前に環境変数を指定します。
-cardano $XILINX_VITIS/cardano XILINX_CARDANO の値を設定します。
-config-file コンフィギュレーション ファイル (INI フォーマット) コマンドの環境設定を指定するコンフィギュレーション ファイル。
-device-family 7Series | UltraScale | UltraScale+ プラットフォームのデバイス ファミリを指定します。

これは、v++ パッケージで生成される launch_hw_emu.sh または launch_sw_emu.sh スクリプトで選択したターゲットに基づいて自動的に渡されます。

launch_emulator ツールを直接使用する場合は、明示的に指定する必要があります。

-enable-debug なし QEMU と PL に 2 つの異なる XTERM を開くデバッグ モード。これは、バッチ モードを使用する場合に、フローおよび QEMU と PL プロセス間のハンドシェイクを理解するのに便利です。
-forward-port <target> <host> TCP ポートをターゲットからホストに転送します。
-gdb-port ポート番号 QEMU が指定したポート上の GDB 接続を待ちます。
-help なし ヘルプ メッセージを表示します。
-kill <pid> 指定したエミュレーター プロセスを停止します。
-no-reboot なし QEMU をリブートせずに終了します。組み込み Linux プロンプトで reboot -f コマンドを実行して QEMU を終了するために使用します。
-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++ パッケージで生成されるスクリプトで自動的に渡されます。
-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 モードを使用している場合にのみ必要です。

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

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

-sim-gui なし プログラマブル ロジック シミュレータを GUI で起動してデザインをデバッグします。
-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 を読み込むために使用されます。
-xtlm-aximm-log なし v++-g を使用して実行した場合でも、波形のみを表示できます。ログはデフォルトではディスエーブルになっています。ランタイム時に、このオプションを使用して AXI4 メモリ マップ トランザクションのログをイネーブルにします。
-xtlm-axis-log なし v++-g を使用して実行した場合でも、波形のみを表示できます。ログはデフォルトではディスエーブルになっています。ランタイム時に、このオプションを使用して AXI4-Stream トランザクションのログをイネーブルにします。
ヒント: QEMU のヘルプは、エミュレーターで Ctrl + A H を押すと表示されます。