Vitis コンパイラのコンフィギュレーション ファイル - 2023.2 日本語

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

Document ID
UG1393
Release Date
2023-12-13
Version
2023.2 日本語

コンフィギュレーション ファイルは、Vitis Unified IDE、または v++ でサポートされる共通コマンド ラインで作業するために推奨される方法です。コンフィギュレーション ファイルを使用すると、類似のコマンドをグループ化し、接続やプロファイリングなどの特定のタスクを実行するのに再利用可能なコンフィギュレーション ファイルを作成し、v++ コマンド ラインを最小化および簡素化できます。コンフィギュレーション ファイルで制御できる機能には、次のものがあります。

  • v++ -c --mode aie を使用してコンポーネントの作成をコンフィギュレーションする AI エンジン コマンド
  • v++ -c --mode hls を使用する際に、インターフェイスを定義、合成およびシミュレーションを設定、パッケージングを制御する HLS コマンド
    ヒント: ほとんどすべての HLS コマンドは、コンフィギュレーション ファイルで指定する必要があります。例外は --platform--freqhz で、これらはコマンド ラインまたはコンフィギュレーション ファイルで許可されます。
  • v++ --link を使用する際にインスタンシエートするカーネル数を指定したり、AI エンジン ストリーミング ポートを PL カーネル ポートに割り当てるシステム リンク用の接続指示子
  • v++ --package を使用する際にブート ファイルの作成、.xsa からの .xclbin ファイルの生成、SD カードの作成を設定するパッケージ指示子
  • Vivado Design Suite でハードウェア合成およびインプリメンテーションを制御する指示子。
  • コンフィギュレーション ファイルにコマンドを追加するには、行を # で開始します。
    # This is a comment line

Vitis Unified IDE では、コンポーネントのビルドとシミュレーション プロセスを駆動するのにコンフィギュレーション ファイルを使用します。コンフィギュレーション ファイルは、コンポーネント作成時にツールで作成することも、既存のコンポーネントからインポートすることも、カスタムで作成してコンポーネントに別途追加することも可能です。コマンド ライン フローの場合、コンフィギュレーション ファイルは v++ --config オプションを使用して指定します (v++ の一般オプション を参照)。次に --config オプションの例を示します。

v++ --link --config ../src/system.cfg

コンフィギュレーション ファイルのコマンドはユーザーが構成できず、--platform のように一度許可されるだけのことがあります。この場合、コマンドはコンフィギュレーション ファイルから順番に読み出されます。最初に読み出されたコマンドが使用されます。コンフィギュレーション ファイル コマンドはユーザーが構成できることもあり、デザイン内の特定のポートや CU に複数の値を指定できます。この場合、コマンドは累積されていき、後で競合するコマンドがあっても、無視されるか、エラーになります。

コマンドは、記述された順に読み出されます。同じオプションが矛盾する情報で繰り返される場合、最初に読み出されたオプションが使用されるか、エラーになります。オプションの優先順位は次のとおりです。

  1. コマンド ライン オプション。
  2. 左から順にコマンド ラインで指定されたコンフィギュレーション ファイル。
  3. 1 つのコンフィギュレーション ファイル内では、優先順位は上から下。

一般的に、どの v++ コマンド オプションでもコンフィギュレーション ファイルに指定できます。ただし、コンフィギュレーション ファイルでは、コマンド ヘッダーの下に関連のコマンドのグループを含むセクションを定義でき、ビルド オプションおよびストラテジを管理しやすくなっています。次の表に、定義済みのセクション ヘッダーを示します。

ヒント: 1 つのコンフィギュレーション ファイルに複数のプロセスを定義できます。ただし、HLS コンポーネントの作成、システムのリンク、システムのパッケージなど、別々のプロセスごとにコンフィギュレーション ファイルを用意しておくことをお勧めします。
表 1. コンフィギュレーション ファイルのセクション タグ
セクション名 説明
ラベルなし 通常ラベルのないセクションは、コンフィギュレーション ファイルの先頭に置いて、次のセクション ヘッダーのいずれにも属さないコマンドを含めます。たとえば、--part--platform--freqhz--debug などです。
[advanced] --advanced オプション:
[aie] v++ -c --mode aie コマンドで AI エンジン をコンパイルする際に使用されます。
[clock] --clock オプション:
[connectivity] --connectivity オプション:
[debug] --debug オプション
[hls] v++ -c --mode hls コマンドを使用した HLS コンポーネントのコンパイルに使用されます。これらのコマンドの詳細は、v++ モードの HLS を参照してください。
注記: ソフトウェア エミュレーション用の PL カーネルをコンパイルする、v++ -c -k モードで使用することを目的とした [hls] コマンドがあります。これらのコマンドの詳細は、--hls オプション を参照してください。
[linkhook] --linkhook オプション
[package] --package オプション
[profile] --profile オプション
[vivado] --vivado オプション: