Vitis ターゲット プラットフォームは、独自のハードウェアおよびソフトウェア コンポーネントでカスタマイズできます。プラットフォームには、固定プラットフォームとエクステンシブル プラットフォームの 2 タイプがあります。1 つ目のプラットフォーム タイプは、エンベデッド ソフトウェア開発をサポートし、以前ザイリンクス SDK ツールでのソフトウェア開発で使用されていたハードウェア定義ファイルに対応します。2 つ目のプラットフォーム タイプは、アプリケーション アクセラレーションをサポートし、アクセラレーション カーネルをサポートするハードウェアと、Linux およびザイリンクス ランタイム (XRT) ライブラリを実行するターゲット用のソフトウェアを含みます。XRT ライブラリの詳細は、https://github.com/Xilinx/XRT を参照してください。
次の図に、エンベデッド ソフトウェア アプリケーション開発の従来の SDK フローを示します。ハードウェア定義ファイル (HDF) は、 Vivado® Design Suite からエクスポートされ、SDK でボード サポート パッケージ (BSP) の生成およびその BSP を適用するソフトウェア アプリケーションの作成に使用されます。
次の図に、SDK に代わって使用される 2019.2 リリース以降の Vitis エンベデッド ソフトウェア アプリケーション開発フローを示します。ハードウェア仕様はザイリンクス シェル アーカイブ (XSA) と呼ばれるようになり、Vivado デザインからエクスポートされますが、フォーマットが異なり、ファイル拡張子は .xsa です。Vitis コア ツールは、プラットフォームおよび BSP のほか、このタイプの固定 XSA 用でプラットフォームに関連付けられる FSBL および PMU ファームウェアなどのソフトウェア ブート コンポーネントを作成します。Vitis コア ツールを使用して、プラットフォームをターゲットにするソフトウェア アプリケーションを開発します。Linux および XRT ライブラリは必要ありません。詳細は、 『Vitis 統合ソフトウェア プラットフォームの資料』 (UG1416) の Vitis エンベデッド ソフトウェア開発フローの資料 を参照してください。
製品開発者がアプリケーションを加速させる場合は、アクセラレーション カーネルをサポートするハードウェアおよびソフトウェア コンポーネントを使用するプラットフォームを Vitis コア ツールで作成できます。Vivado Design Suite は、カーネル接続をサポートするその他の IP ブロックおよびメタデータをいくつか含む 2 つ目のタイプの XSA を生成して書き出すために使用します。次の図に、アクセラレーション ソフトウェア アプリケーション開発フローを示します。
Vitis コア ツールでは、複数の言語 ( OpenCL™ 、C、C++) でのアプリケーション開発がサポートされますが、アプリケーションは Vitis ターゲット プラットフォームをターゲットにする必要があります。ターゲット プラットフォームには、次の図に示すようにハードウェア コンポーネントとソフトウェア コンポーネントが含まれます。ページの左側のターゲット プラットフォーム表示は Vitis エンベデッド ソフトウェア開発フロー用のもので、右側がアクセラレーション カーネルをサポートするプラットフォームを示しています。違いには、Linux + XRT を使用するターゲットのアクセラレーション カーネル要件、メタデータ、カーネル インターフェイス宣言などがあります。