Vitis コア開発キットの使用モデルはトップダウン手法であり、C/C++ または OpenCL コードから開始して、コンパイルしたカーネルを作成していきます。または、カーネルを直接開発してザイリンクス オブジェクト (XO) ファイルを生成し、v++
を使用してリンクして .xclbin を生成する方法もあります。この方法では、Vitis HLS ツールを使用した C/C++ カーネルを使用するか (このセクションで説明)、Vivado Design Suite を使用した RTL カーネルを使用できます。詳細は、RTL カーネル を参照してください。
RTL または C/C++ でカーネルを直接開発して XO ファイルを生成する方法は、ボトムアップ フローと呼ばれます。この方法では、カーネルのパフォーマンスの検証と最適化の実行は Vitis HLS で実行し、Vitis アプリケーション アクセラレーション フローで使用できるようにザイリンクス オブジェクト ファイルをエクスポートします。このツールの詳細は、 Vitis HLS フロー を参照してください。
図 1.
Vitis HLS ボトムアップ フロー
Vitis HLS ボトムアップ フローを使用する利点は、次のとおりです。
- カーネルをメイン アプリケーションとは別に設計、検証、最適化できます。
- ホスト プログラムとカーネルを共同開発するチーム開発を可能にします。
- 特定のカーネル最適化は、XO ファイルに保存されます。
- XO ファイルのコレクションは、ライブラリのように使用および再利用できます。