emconfigutil (エミュレーション コンフィギュレーション) ユーティリティ
XOCC/mkefile フローでは、ザイリンクス SDAccel™ 開発環境外でホスト コードおよびカーネルのコンパイルおよび実行を管理する必要があります。ソフトウェアおよびハードウェア エミュレーションを実行する手順は、次のとおりです。
- エミュレーション コンフィギュレーション ファイルを作成します。
ソフトウェアまたはハードウェア エミュレーションでは、ランタイム ライブラリでデバイスの種類とエミュレーションする数が認識される必要があります。この情報はエミュレーション コンフィギュレーション ファイルでランタイム ライブラリに供給されます。SDAccel には、エミュレーション コンフィギュレーション ファイルを自動的に作成する
emconfigutilというユーティリティが含まれています。注記: 実際のハードウェアで実行すると、ランタイムおよびドライバーがインストールしたハードウェアをクエリし、デバイス タイプ、インストールされたデバイス数、デバイスの特性が認識されます。次に、
emconfigutilのコマンドライン構文とオプションの詳細です。表 1. emconfigutil オプション オプション 有効な値 説明 --platformターゲット デバイス 必須です。ターゲット デバイスを設定します。
サポートされるデバイスのリストは、使用している製品のリリース ノートを参照ししてください。- SDAccel™ の場合は、『SDx 開発環境リリース ノート、インストール、およびライセンス ガイド』 を参照してください。
- SDSoC™ の場合は、『SDSoC 環境リリース ノート、インストール、およびライセンス ガイド』 (UG1294) を参照してください。
--nd正の整数 オプションです。デバイス数。デフォルトは 1。 --od有効なディレクトリ オプションです。出力ディレクトリ。emconfig.json ファイルはホスト実行ファイルと同じディレクトリに含める必要があります。 --save-temps該当なし オプションです。中間ファイルは削除されず、コマンド実行後も残ります。 --xp有効なザイリンクス パラメーターおよびプロパティ オプションです。追加のパラメーターおよびプロパティを指定します。 例:
--xp prop:solution.platform_repo_paths=my_dsa_path--platformオプションで指定したデバイスの検索パスを設定します。-h該当なし ヘルプ メッセージを表示します。 emconfigutilコマンドでは、出力ディレクトリに emconfig.json コンフィギュレーション ファイルが作成されます。emconfig.json ファイルはホスト実行ファイルと同じディレクトリに含める必要があります。次の例では、2 つの
xilinx_vcu1525_dynamic_5_0デバイスをターゲットにしたコンフィギュレーション ファイルが作成されます。$emconfigutil --platform xilinx_vcu1525_dynamic_5_0 --nd 2 XILINX_SDX環境変数を設定します。エミュレーションが実行できるようにするには、
XILINX_SDX環境変数が SDAccel インストール パスをポイントするように設定する必要があります。次は、SDAccel が /opt/Xilinx/SDx/2018.2 にインストールされた場合の例です。C シェル:
setenv XILINX_SDX /opt/Xilinx/SDx/2018.2Bash:
export XILINX_SDX=/opt/Xilinx/SDx/2018.2- エミュレーション モードを設定します。
XCL_EMULATION_MODE環境変数をsw_emu(ソフトウェア エミュレーション) またはhw_emu(ハードウェア エミュレーション) に設定すると、アプリケーション実行のエミュレーション モードを変更できます。エミュレーション モードでは、ランタイムがホスト実行と同じディレクトリで emconfig.json ファイルを検索し、エミュレーション run のターゲット コンフィギュレーションを読み込みます。C シェル:
setenv XCL_EMULATION_MODE sw_emuBash:
export XCL_EMULATION_MODE=sw_emuXCL_EMULATION_MODE環境変数の設定を解除すると、エミュレーション モードがオフになります。 - エミュレーションを実行します。
コンフィギュレーション ファイル emconfig.json および
XCL_EMULATION_MODEを使用し、次のコマンド ラインでエミュレーションを実行します。$./host.exe kernel.xclbin