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

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

Document ID
UG1393
Release Date
2022-05-25
Version
2022.1 日本語

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

次の図に、エンベデッド ソフトウェア アプリケーション開発の従来の SDK フローを示します。ザイリンクス ハードウェア デザインファイル (HDF) は、 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 統合ソフトウェア プラットフォームの資料』 (UG1416) の Vitis エンベデッド ソフトウェア開発フローの資料 を参照してください。

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 プラットフォーム プロジェクト フロー