C/C++ PL カーネルのコンパイル - 2023.2 日本語

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

Document ID
UG1393
Release Date
2023-12-13
Version
2023.2 日本語
重要: ツールを実行する前に、Vitis 環境の設定 で説明されるように、コマンド シェルまたはウィンドウを設定します。

PL カーネル オブジェクトのプログラミング、シミュレーション、および合成の手法の詳細は、 『Vitis 高位合成ユーザー ガイド』 (UG1399) を参照してください。カーネル オブジェクト ファイル (.xo) は、次に説明するように、HLS コンパイラ (v++ -c --mode hls) でコンパイルできます。コンパイルされたオブジェクト ファイルは、AI エンジン グラフ アプリケーションおよびターゲット プラットフォームとリンクし、システムのリンク で説明されるように、v++ --link コマンドで使用できます。

ヒント: カーネルは、2 つの個別の段階でコンパイル (-c) およびリンク (-l) する必要があります。
PL カーネルをコンパイルするには、次のコマンド ラインを例として使用します。
v++ -c --mode hls --config ./src/hls_config.cfg --work_dir vadd

このコマンドでは、次の引数が使用されています。

  • -c: v++ コマンドのコンパイルモードを指定します。これは、-c または --compile を使用して指定できます。
  • --mode hls: Vitis コンパイラの HLS コンパイラ フォームを起動します。
  • --config <config_filename>: HLS コンパイラで使用するコンフィギュレーション ファイルを指定します。コンフィギュレーション ファイルには、v++ モードの HLS で説明されるように、HLS コンパイラのオプションがあります。その他の詳細は、 『Vitis 高位合成ユーザー ガイド』 (UG1399)「HLS コンポーネントの作成」を参照してください。コンフィギュレーション ファイルでは、次を指定します。
    • ビルドのターゲット プラットフォームまたはパーツ。v++ --link コマンドで指定されたプラットフォームは、HLS コンパイル コマンドで使用されたターゲット プラットフォームまたはパーツと一致している必要があります。
    • PL カーネルのソース C++ ファイル
    • コンフィギュレーション ファイルでは、必要であれば出力名も指定します。デフォルトの出力名は、最上位関数と同じで、拡張子は .xo になります。
  • --work_dir: v++ コンパイラで作成された HLS コンポーネントのディレクトリを指定します。
ヒント: HLS コンパイラ モードはターゲットを必要としません。コンパイルされたオブジェクト ファイル (.xo) は、ハードウェア エミュレーションのビルドとハードウェア ビルドの両方に適しています。ただし、v++ -c --mode hls コマンドは、ソフトウェア エミュレーションで使用する PL カーネルを生成しません。ソフトウェア エミュレーション ターゲットを生成するには、ソフトウェア エミュレーションのための PL カーネルのコンパイル で説明される方法を使用する必要があります。

HLS コンパイラで生成されるさまざまな出力ファイルの生成場所は、v++ コマンドの出力ディレクトリ を参照してください。

コンパイル段階が完了すると、このプロセス中に生成されたすべてのレポートが <kernel_name>.compile_summary に収集されます。このレポートのコレクションは、Vitis Unified IDE の [Analysis] ビューで compile_summary を開くと確認でき、サマリ レポート、タイミングおよびリソースの見積もりのためのカーネル見積もり、コンパイルの推奨事項を含むカーネル ガイダンス、および HLS 合成ログが含まれます。詳細は、[Analysis] ビュー (Vitis アナライザー) の使用を参照してください。