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