プラットフォーム タイプ - 2023.2 日本語

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

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

Vitis ターゲット プラットフォームは、独自のハードウェアおよびソフトウェア コンポーネントでカスタマイズできます。プラットフォームには、固定プラットフォームとエクステンシブル プラットフォームの 2 タイプがあります。固定プラットフォームは、エンベデッド ソフトウェア開発をサポートし、以前AMD SDK ツールでのソフトウェア開発で使用されていたハードウェア定義ファイルに対応します。エクステンシブル プラットフォームは、アプリケーション アクセラレーション開発フローをサポートし、アクセラレーション カーネルをサポートするハードウェアと、AMD Versal™ アダプティブ SoC の AI エンジン を制御するハードウェアと、Linux およびザイリンクス ランタイム (XRT) ライブラリを実行するターゲット用のソフトウェアを含みます。XRT ライブラリの詳細は、https://github.com/Xilinx/XRT を参照してください。

次の図に、エンベデッド ソフトウェア アプリケーション開発の従来の SDK フローを示します。AMD ハードウェア デザインファイル (HDF) は、AMD Vivado™ Design Suite からエクスポートされ、SDK でボード サポート パッケージ (BSP) の生成およびその BSP を適用するソフトウェア アプリケーションの作成に使用されます。

図 1. 2019.2 以前の SDK フロー

次の図に、2019.2 リリースから SDK フローに代わって使用される Vitis エンベデッド ソフトウェア アプリケーション開発フローを示します。ハードウェア仕様は、ザイリンクス サポート アーカイブ (XSA) に含まれるようになり、Vivado デザインからエクスポートされますが、フォーマットが HDF とは異なり、ファイル拡張子に .xsa を使用します。

図 2. Vitis エンベデッド ソフトウェア開発フロー

Vitis コア ツールは、プラットフォームおよび BSP のほか、固定 XSA の場合は FSBL および PMU ファームウェアのような、Vitis プラットフォームに関連付けられたソフトウェア ブート コンポーネントを作成します。固定プラットフォームをターゲットとするソフトウェア アプリケーションは、Vitis エンベデッド ソフトウェア開発フローを使用して開発できます。固定プラットフォームでは、Linux および XRT ライブラリに制限されませんが、ベアメタルおよび RTOS オペレーティング システムを実行するプロセッサ ドメインもターゲットにできます。詳細は、『Vitis 統合ソフトウェア プラットフォームの資料: エンベデッド ソフトウェア開発』 (UG1400) を参照してください。

Vitis アプリケーション アクセラレーション開発フローでは、Vivado Design Suite は、カーネル接続をサポートするための追加の IP ブロックとメタデータを含む、拡張可能な XSA の作成するに使用されます。次の図に、アクセラレーション ソフトウェア アプリケーション開発フローを示します。

図 3. Vitis アクセラレーション カーネル フロー

次の図は、2022.1 リリース以降の Vitis エンベデッド ソフトウェア開発フローを示しています。このフローでは、共通イメージと createdts コマンドを使用してソフトウェア コンポーネントを生成して、PetaLinux を代わりに使用します。

図 4. Vitis エンベデッド ソフトウェア開発フロー

Vitis アプリケーション アクセラレーション開発フローでは、Vivado Design Suite は、カーネル接続をサポートするための追加の IP ブロックとメタデータを含む、エクステンシブル XSA の生成と書き込みにも使用されます。まず、共通イメージと createdts を使用してソフトウェア コンポーネント用の DTS を生成し、代わりに PetaLinux を使用します。次の図は、2022.1 リリースから使用されているアクセラレーション ソフトウェア アプリケーション開発フローを示しています。

図 5. Vitis アクセラレーション カーネル フロー

Vitis コア ツールでは、複数の言語 ( OpenCL™ 、C、C++) でのアプリケーション開発がサポートされますが、アプリケーションは Vitis プラットフォームをターゲットにする必要があります。ターゲット プラットフォームには、次の図に示すようにハードウェア コンポーネントとソフトウェア コンポーネントが含まれます。ページの左側のターゲット プラットフォーム表示は Vitis エンベデッド ソフトウェア開発フロー用のもので、右側がアクセラレーション カーネルをサポートするプラットフォームを示しています。違いには、Linux + XRT を使用するターゲットのアクセラレーション カーネル要件、メタデータ、カーネル インターフェイス宣言などがあります。

注記: カスタム プラットフォーム生成ソースは、https://github.com/Xilinx/Vitis_Embedded_Platform_Source から入手できます。
図 6. Vitis ターゲット プラットフォーム
図 7. Vitis プラットフォーム プロジェクト フロー