Vitis 環境は、AI エンジン カーネルおよびグラフ、プログラマブル ロジック (PL) の機能、プロセッシング システム (PS) 上で実行されるソフトウェア アプリケーションなど、Versal ACAP アプリケーションのさまざまなエレメントのプログラム、実行、デバッグを可能にするツール、ライブラリ、および IP で構成されます。Vitis ツールは、プラットフォーム ベースのアプローチを使用します。このアプローチでは、概念上、システムを次の各エレメントに分割します。これらのエレメントは並行して開発およびテストできます。
- プラットフォーム
- 適応型サブシステム
- ソフトウェア アプリケーション
次の図に、このプラットフォーム ベースのアプローチで使用されるエレメントを示します。
プラットフォーム
プラットフォームは、適応型サブシステムとソフトウェア アプリケーションを構築および統合するための基盤となるハードウェア IP ブロックとソフトウェア機能を提供します。プラットフォームは、ハードウェア プラットフォームとソフトウェア プラットフォームの 2 つの部分で構成されます。ハードウェア プラットフォームには、基盤的な Versal ハードウェア IP ブロック (CIPS、NoC、I/O コントローラー、AI エンジン アレイ、およびその他ユーザーが指定した IP ブロック) が含まれます。ソフトウェア プラットフォームでは、ドメイン、デバイス ツリー、OS を定義します。
このプラットフォームを利用することにより、アプリケーション開発者は、複雑な低レベルのインフラストラクチャに煩わされることなく、ソフトウェア、AI エンジン グラフ、PL カーネル ロジックなど、適応型サブシステムの特定機能の開発に集中できます。プラットフォームのハードウェア側は、Vivado ツールを使用して作成されます。プラットフォームのソフトウェア側は、PetaLinux または Yocto を使用して作成されます。
適応型サブシステム
適応型サブシステムは、PL ブロックと AI エンジン グラフ (AI エンジンを搭載したデバイスの場合) を利用して、明確に定義された機能を実行します。適応型サブシステムの PL ブロックを、PL カーネルと呼びます。PL カーネルは、RTL ブロック、Vivado IP ブロック、または高位合成 (HLS) ブロックです。AI エンジン プログラムは、C++ で記述されるデータフロー グラフ仕様を使用して開発されます。適応型システムのさまざまなコンポーネントを個別に設計および検証したら、Vitis リンカーを使用してこれらをアセンブルし、プラットフォームに統合します。
ソフトウェア アプリケーション
ソフトウェア アプリケーションは PS 上で動作し、適応型サブシステムと連携しながら高レベルのアプリケーション タスクを実行します。ソフトウェア アプリケーションは、Vitis エンベデッド ソフトウェア開発フローを使用して開発されます。
Vitis ツール
次の Vitis ツールにより、システム全体のさまざまなエレメントの作成、検証、統合が容易に行えます。
- AI エンジン ツール
- AI エンジン プログラムのプログラミング、シミュレーション、およびデバッグを実行します。このツール セットには、aiecompiler、AI エンジン シミュレータ (aiesimulator)、および x86 シミュレータ (x86simulator) が含まれます。
-
Vitis HLS および Vitis コンパイラ (
v++ --compile
) - C/C++ ソース コードから PL カーネルを作成します。
- Vivado IP パッケージャー
- 既存の IP または RTL コードを Vitis PL カーネルに含めてパッケージします。
- Vitis リンカー (v++ --link)
- AI エンジン グラフと PL カーネルを 1 つのプラットフォームに統合します。
-
Vitis パッケージャー (
v++ --package
) - システムの PS コンポーネント (ソフトウェア アプリケーション) を統合してブート イメージを生成します。
- Vitis エミュレーション フロー
- Vitis リンカーとの統合後、実際のハードウェアで実行する前に PS、PL、および AI エンジン コンポーネントの動作をシミュレーションします。
- Vitis アナライザー
- コンパイル中、リンク中、および Vitis ツールで作成したシステムの実行中に、レポートを生成します。
- Vitis エンベデッド ソフトウェア開発フロー (PetaLinux を含むシステム ソフトウェア スタックを使用)
- エンベデッド プロセッサの PS ドメインをサポートします。
これらのツールの詳細は、 『Vitis 統合ソフトウェア プラットフォームの資料』 (UG1416) を参照してください。