AMD Vitis™ 環境アクセラレーション アプリケーション開発フローでは、プロジェクトはプラットフォームとプロセッシング サブシステムに分割されます。プラットフォームには、必須の IP ブロック (SoC の PS、AMD Versal™ アダプティブ SoC の NoC および AI エンジンなど) と、ボード インターフェイス IP ブロック (高速 I/O、メモリ コントローラーなど) が含れます。プロセッシング サブシステムには、システムのアプリケーション特定のパーツが含まれており、プログラマブル ロジックと AI エンジン ブロックの両方で構成できます。これにより、問題が分離され、同時開発および再利用が促進されます。アプリケーション開発者はプラットフォームの下位の詳細を考慮する必要がなく、プロセッシング サブシステムの設計に集中できます。プラットフォーム開発者は、処理サブシステムを気にすることなく、システムの起動と I/O パフォーマンスの調整に集中できます。これにより、サブシステムを異なるプラットフォームに統合したり、プラットフォームを異なるプロセッシング サブシステムで再利用したりできます。
AMD では、AMD Alveo™ カードおよびエンベデッド評価ボード用のビルド済みプラットフォームを提供しています。これらのプラットフォームは、ダウンロード センターからダウンロードできます。プラットフォームとサブシステムの効率的な分離が、Vitis 環境での設計手法および生産性向上の中心となります。エンベデッド デザインでは、プラットフォーム チームがカスタム プラットフォームを開発中に、アプリケーション チームが AMD のビルド済みプラットフォームを使用してサブシステムの開発を開始する並列開発プロセスを AMD ではお勧めします。これにより、開発時間を短縮できます。ビルド済みプラットフォームを使用すると、検証済みで正しく機能することがわかっている基盤を使用して、サブシステムを個別に開発、統合、およびテストできます。サブシステムの開発が十分に進行し、安定した状態になったら、サブシステムをカスタム プラットフォームの適切なバージョンに統合できます。この方法により、システム統合プロセスが大幅に効率的なものになります。
次の図に、カスタマイズされたエンベデッド プラットフォームの作成方法を示します。
プラットフォームを作成するには、ベース ブータブル デザインを開始点として使用する必要があります。このデザインとしては、AMD ベース プラットフォーム、既存の作業中のデザイン、または一から作成されたデザインを使用できます。ベース ブータブル デザインには、次のベース コンポーネントが含まれている必要があります。
- AMD Vivado™ Design Suite からエクスポートしたベース ハードウェア デザイン
- Linux カーネル、ルート ファイル システム、およびデバイス ツリーなどのベース ソフトウェア デザイン
Vivado Design Suite デザインでハードウェアおよびボードを作成したら、Vitis 環境の要件を満たすため、Vitis 環境プラットフォームに変換する際にベース コンポーネントにプロパティを追加する必要があります。通常のプラットフォームの作成手順は次のとおりです。
- Vivado Design Suite プロジェクトにハードウェア インターフェイス パラメーターと割り込みサポートを追加して XSA をエクスポートします。
- ソフトウェア プラットフォーム コンポーネントをアップデートして、アプリケーション アクセラレーション ソフトウェア スタック (XRT のイネーブル、デバイス ツリーのアップデートなど) をイネーブルにします。
- XSCT コマンドまたは Vitis IDE を使用してプラットフォームをパッケージして生成します。
Vitis 環境では、ハードウェア プロジェクトのプロパティからプラットフォームのリソースが認識され、カーネルがプラットフォームにリンクされます。Vitis 環境では、カーネルの制御にソフトウェア スタックが使用されます。
Vitis 環境でのエンベデッド プラットフォーム作成の詳細は、 『Vitis 統合ソフトウェア プラットフォームの資料: エンベデッド ソフトウェア開発』 (UG1400) を参照してください。詳細な手順は、 『Vitis プラットフォーム作成チュートリアル』 を参照してください。