emconfigutil (エミュレーション コンフィギュレーション) ユーティリティ

XOCC/mkefile フローでは、ザイリンクス SDAccel™ 開発環境外でホスト コードおよびカーネルのコンパイルおよび実行を管理する必要があります。ソフトウェアおよびハードウェア エミュレーションを実行する手順は、次のとおりです。

  1. エミュレーション コンフィギュレーション ファイルを作成します。

    ソフトウェアまたはハードウェア エミュレーションでは、ランタイム ライブラリでデバイスの種類とエミュレーションする数が認識される必要があります。この情報はエミュレーション コンフィギュレーション ファイルでランタイム ライブラリに供給されます。SDAccel には、エミュレーション コンフィギュレーション ファイルを自動的に作成する emconfigutil というユーティリティが含まれています。

    注記: 実際のハードウェアで実行すると、ランタイムおよびドライバーがインストールしたハードウェアをクエリし、デバイス タイプ、インストールされたデバイス数、デバイスの特性が認識されます。

    次に、emconfigutil のコマンドライン構文とオプションの詳細です。

    表 1. emconfigutil オプション
    オプション 有効な値 説明
    --platform

    ターゲット デバイス

    必須です。ターゲット デバイスを設定します。

    サポートされるデバイスのリストは、使用している製品のリリース ノートを参照ししてください。
    --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
  2. XILINX_SDX 環境変数を設定します。

    エミュレーションが実行できるようにするには、XILINX_SDX 環境変数が SDAccel インストール パスをポイントするように設定する必要があります。次は、SDAccel/opt/Xilinx/SDx/2018.2 にインストールされた場合の例です。

    C シェル:

    setenv XILINX_SDX /opt/Xilinx/SDx/2018.2

    Bash:

    export XILINX_SDX=/opt/Xilinx/SDx/2018.2
  3. エミュレーション モードを設定します。

    XCL_EMULATION_MODE 環境変数を sw_emu (ソフトウェア エミュレーション) または hw_emu (ハードウェア エミュレーション) に設定すると、アプリケーション実行のエミュレーション モードを変更できます。エミュレーション モードでは、ランタイムがホスト実行と同じディレクトリで emconfig.json ファイルを検索し、エミュレーション run のターゲット コンフィギュレーションを読み込みます。

    C シェル:

    setenv XCL_EMULATION_MODE sw_emu

    Bash:

    export  XCL_EMULATION_MODE=sw_emu

    XCL_EMULATION_MODE 環境変数の設定を解除すると、エミュレーション モードがオフになります。

  4. エミュレーションを実行します。

    コンフィギュレーション ファイル emconfig.json および XCL_EMULATION_MODE を使用し、次のコマンド ラインでエミュレーションを実行します。

    $./host.exe kernel.xclbin