事前に必要な手順
開発を始める前に、アプリケーションに最適な Versal デバイスを選択し、アプリケーションの要件に応じて PS、AI エンジン、および PL をターゲットとする機能にデザインを分割する必要があります。この時点で、次のことを理解している必要があります。
- スループットやレイテンシなどのシステム デザインに関する考慮事項
- 演算や帯域幅など、ドメインおよびドメイン間の機能
- システム全体および各サブシステムのデータフローおよび制御フロー
その他、ターゲット プラットフォームの種類も考慮する必要があります。ボード上のペリフェラルやインターフェイス、さらにカスタム ボードで利用できるメモリ リソースなどをあらかじめ計画して構築する必要があります。
設計手法の概要
次の図に、Vitis 環境のデザイン フローに基づく設計手法の概要を示します。
Vitis 環境の開発手法は、通常は PS、PL、および AI エンジン の機能で構成される Versal ACAP システムのヘテロジニアスな性質を反映しています。Vitis ツールを使用して、これらのコンポーネントを個別に開発および検証し、それらを段階的に統合して最終的なシステムを構築できます。
Vitis 環境のデザイン フローは、各ステップを複数回ループして、後続プロセスでレイヤーやエレメントを適応型システムに追加する反復プロセスです。最初のステップを迅速に実行し、詳しい性能データを取得する後のステップでより多くの時間をかけることができます。
ベスト プラクティス
Vitis 環境の設計手法の基盤となるのは、反復的な手法と並行開発です。したがって、ザイリンクスは次に示すベスト プラクティスを強く推奨しています。
-
適応型サブシステムとカスタム プラットフォームを並行して開発する。
システムを明確に分割することにより、これらの 2 つの要素を個別に開発および検証できるようになり、時間と労力を軽減できます。 -
AI エンジン グラフと 各 PL カーネルを個別にデバッグおよび検証した後で統合に進む。
この手法により、統合フェーズを迅速に完了できる可能性が高くなります。すべてのコンポーネントが正常であることがわかっていれば、統合に関する問題のデバッグははるかに容易になります。 -
標準のザイリンクス プラットフォーム (vck190 など) を使用して、AI エンジン グラフと PL カーネルで構成される適合型サブシステムの統合と検証を実行した後で、カスタム プラットフォームをターゲットにする。
ザイリンクス プラットフォームは事前に検証されており、ハードウェア上でそのまま運用できます。標準のザイリンクス プラットフォームを使用することで、AI エンジン グラフと PL カーネルの開発者は、カスタム プラットフォームの不確実性や複雑性に煩わされることなく、シミュレーションまたはハードウェア ボードを使って適応型サブシステムを検証できます。 -
フローの各段階で、パフォーマンス目標を満たしていることを確認する。
ハードウェア上でシステム全体を実行する段階では、個別のコンポーネントを切り離してシミュレーションしていた段階よりも性能を向上させることは難しくなります。したがって、デザイン フローのできるだけ早い段階で、性能上の問題がないかを徹底的にチェックし、デバッグしておくことが必要不可欠です。コンポーネント レベルでパフォーマンス目標を確実に満たすようにすることは、すべてのコンポーネント間の相互作用を含む複雑なシステムでそれを達成するよりもはるかに容易です。