システム デザイン タイプ - 2023.2 日本語

Versal アダプティブ SoC ハードウェア、IP、およびプラットフォーム開発設計手法ガイド (UG1387)

Document ID
UG1387
Release Date
2023-11-15
Version
2023.2 日本語

AMD Versal™ アダプティブ SoC は、複数の演算エンジンを搭載したヘテロジニアス演算プラットフォームです。Versal アダプティブ SoC には、無線システム用の信号処理、機械学習推論、ビデオ処理アルゴリズムなどさまざまなアプリケーションをマップできます。複数の演算エンジンに加え、Versal アダプティブ SoC は、高速シリアル I/O、ネットワーク オン チップ (NoC)、DDR4/LPDDR4 メモリ コントローラー、HBM コントローラー、MRMAC (Multi-rate Ethernet Media Access Controller) を使用して非常に広い帯域幅を提供します。Versal デバイスには、Versal プライムプレミアムHBMAI コア、および AI エッジ シリーズがあります。次の図に、Versal の各デバイス シリーズでサポートされる、システム デザイン タイプとデザイン フローを示します。

注記: Versal プライムプレミアム、および HBM シリーズのデザイン フローは、AMD FPGA で使用するフローと似ています。Versal AI コアAI エッジ、および Versal プレミアム VP2502/VP2802 デバイスのデザイン フローでは、ヘテロジニアス演算プラットフォーム用の設計が必要で、そのためにはハードウェア コンフィギュレーションとソフトウェア サポートに関する要件を満たす必要があります。
図 1. システム デザイン タイプ

次の表に、システム デザイン タイプと Versal のデバイス シリーズ、サポートされるデザイン フローを示します。この表に示すように、ほとんどのデザイン フローはプラットフォーム ベースです。

表 1. システム デザイン タイプ
デザイン タイプ デバイス シリーズ デザイン フロー プラットフォーム ソース 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 エンジン開発デザイン チュートリアル

VCK190 ベース TRD

AI エンジン-ML チュートリアル

ヒント: GitHub のサンプルは定期的に追加および更新されるため、随時チェックしてください。

次に、各システム デザイン タイプをまとめます。

ハードウェアのみのシステム
プログラマブル ロジック デザイン。このシステムは、従来のデザイン フローを使用して作成します。
エンベデッド システム
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 ツールで拡張可能領域の開発を進めることができます。デザイン コンテンツは、VivadoVitis 間で、それぞれの開発チームの必要に応じて大まかに、または厳密に結び付けてエクスポートできるため、ヘテロジニアスなシステムを構成するさまざまな要素の並行した開発と統合が可能です。