AMD Versal™ アダプティブ SoC は、複数の演算エンジンを搭載したヘテロジニアス演算プラットフォームです。Versal アダプティブ SoC には、無線システム用の信号処理、機械学習推論、ビデオ処理アルゴリズムなどさまざまなアプリケーションをマップできます。複数の演算エンジンに加え、Versal アダプティブ SoC は、高速シリアル I/O、ネットワーク オン チップ (NoC)、DDR4/LPDDR4 メモリ コントローラー、HBM コントローラー、MRMAC (Multi-rate Ethernet Media Access Controller) を使用して非常に広い帯域幅を提供します。Versal デバイスには、Versal プライム、プレミアム、HBM、AI コア、および AI エッジ シリーズがあります。次の図に、Versal の各デバイス シリーズでサポートされる、システム デザイン タイプとデザイン フローを示します。
次の表に、システム デザイン タイプと Versal のデバイス シリーズ、サポートされるデザイン フローを示します。この表に示すように、ほとんどのデザイン フローはプラットフォーム ベースです。
デザイン タイプ | デバイス シリーズ | デザイン フロー | プラットフォーム ソース | GitHub のサンプル |
---|---|---|---|---|
ハードウェアのみのシステム |
Versal
プライム シリーズ Versal プレミアム シリーズ Versal HBM シリーズ |
従来フロー | N/A | Versal デバイス アーキテクチャ チュートリアル |
エンベデッド システム |
Versal
プライム シリーズ Versal プレミアム シリーズ Versal HBM シリーズ |
従来フロー | N/A | Versal アダプティブ SoC エンベデッド デザイン チュートリアル |
プラットフォーム ベース | カスタム | Versal プライム シリーズ VMK180 ターゲット リファレンス デザイン (TRD) | ||
エンベデッド AI エンジン システム |
Versal
AI コア シリーズ Versal AI エッジ シリーズ Versal プレミアム VP2502 および VP2802 デバイス |
プラットフォーム ベース | カスタム | AI エンジン開発デザイン チュートリアル |
次に、各システム デザイン タイプをまとめます。
- ハードウェアのみのシステム
- プログラマブル ロジック デザイン。このシステムは、従来のデザイン フローを使用して作成します。
- エンベデッド システム
- Arm® Cortex®-A72 または Cortex-R5F プロセッサ上で実行するソフトウェアと、PL のハードウェアを組み合わせたエンベデッド プロセッシング システム。このシステムは、従来のデザイン フローまたはプラットフォーム ベースのデザイン フローを使用して作成します。
- エンベデッド AI エンジン システム
- Arm Cortex-A72 または Cortex-R5F プロセッサ上で実行するソフトウェア、PL のハードウェア、および AI エンジンのアルゴリズムを組み合わせたエンベデッド プロセッシング システム。このシステムは、プラットフォーム ベースのデザイン フローを使用して作成します。
次に、Versal アダプティブ SoC のデザイン フローについて説明します。
- 従来のデザイン フロー
- 従来のデザイン フローでは、1 つの AMD Vivado™ プロジェクトでシステムの PL 部分全体を定義します。このプロジェクトには、基本的な Versal ハードウェア IP ブロック (Control, Interface, and Processing System (CIPS)、NoC、I/O コントローラーなど) と、プロジェクトに必要なその他のカスタム RTL および IP ブロックが含まれている必要があります。デザイン ソースは Vivado ツールに追加され、Vivado インプリメンテーション フローでコンパイルされます。システムが PL コンポーネントのみで構成されている場合、Vivado ツールを使用してプログラマブル デバイス イメージ (PDI) を生成し、Versal デバイスをプログラムします。システムにエンベデッド ソフトウェアも含まれている場合、Vivado ツールからエクスポートされた固定ハードウェア デザイン上で、AMD Vitis™ 環境を使用してソフトウェア アプリケーションを開発します。このフローは、AMD Zynq™ UltraScale+™ MPSoC に使用される従来のフローに似ています。
- プラットフォーム ベースのデザイン フロー
- プラットフォーム ベースのデザイン フローでは、ハードウェア システムは 2 つの異なる要素に分割されます。1 つは Vivado で開発される再利用可能なベース プラットフォームで、もう 1 つは、ベース プラットフォームの拡張可能な領域内にある明確に定義されたコネクティビティ インターフェイスを介して Vitis で開発されたベース ハードウェアの拡張です。ハードウェア デザインの大部分は Vivado 環境で開発しますが、ハードウェア記述言語 (HDL) より C++ が適切な部分に関しては、Vitis を使用して開発してシームレスに統合できます。Vitis を使用する例としては、AI エンジン グラフやカーネル、高位合成 (HLS) でコンパイルされた PL をターゲットとするカーネル関数などがあります。
最も効率的に開発作業を進められるよう、ベース プラットフォームと拡張可能領域の最適な分割を判断する必要があります。設計サイクルの過程では、ベース ハードウェアと拡張可能な領域の両方が進化する可能性があります。適切に設計されたベース プラットフォームはさまざまなアプリケーションの基盤となり、各要件に応じて Vitis ツールで拡張可能領域の開発を進めることができます。デザイン コンテンツは、Vivado と Vitis 間で、それぞれの開発チームの必要に応じて大まかに、または厳密に結び付けてエクスポートできるため、ヘテロジニアスなシステムを構成するさまざまな要素の並行した開発と統合が可能です。