プラットフォーム タイプ - 2020.1 Japanese

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

Document ID
UG1393
Release Date
2020-08-20
Version
2020.1 Japanese

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

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

図 1. 2019.2 以前の SDK フロー

次の図に、SDK に代わって使用される 2019.2 リリース以降の Vitis エンベデッド ソフトウェア アプリケーション開発フローを示します。ハードウェア仕様はザイリンクス シェル アーカイブ (XSA) と呼ばれるようになり、Vivado デザインからエクスポートされますが、フォーマットが異なり、ファイル拡張子は .xsa です。Vitis コア ツールは、プラットフォームおよび BSP のほか、このタイプの固定 XSA 用でプラットフォームに関連付けられる FSBL および PMU ファームウェアなどのソフトウェア ブート コンポーネントを作成します。Vitis コア ツールを使用して、プラットフォームをターゲットにするソフトウェア アプリケーションを開発します。Linux および XRT ライブラリは必要ありません。詳細は、 『Vitis 統合ソフトウェア プラットフォームの資料』 (UG1416) の Vitis エンベデッド ソフトウェア開発フローの資料 を参照してください。

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

製品開発者がアプリケーションを加速させる場合は、アクセラレーション カーネルをサポートするハードウェアおよびソフトウェア コンポーネントを使用するプラットフォームを Vitis コア ツールで作成できます。Vivado Design Suite は、カーネル接続をサポートするその他の IP ブロックおよびメタデータをいくつか含む 2 つ目のタイプの XSA を生成して書き出すために使用します。次の図に、アクセラレーション ソフトウェア アプリケーション開発フローを示します。

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

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

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