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