プラットフォーム コンポーネントの作成 - 2023.2 日本語

Vitis 統合ソフトウェア プラットフォームの資料: アプリケーション アクセラレーション開発 (UG1393)

Document ID
UG1393
Release Date
2023-12-13
Version
2023.2 日本語

プラットフォームは AMD Vitis™ デザインの開始点です。Vitis アプリケーションは、プラットフォーム上にビルドされます。

エンベデッド プラットフォームには、ハードウェア プラットフォームとソフトウェア プラットフォームが含まれます。

ハードウェア プラットフォーム

ハードウェア プラットフォームは、ハードウェア デザインのスタティックな変更されない部分です。AMD Vivado™ Design Suite からのザイリンクス サポート アーカイブ (XSA) ファイルが含まれます。

ハードウェア プラットフォームは、大きく「固定ハードウェア プラットフォーム」と「拡張ハードウェア プラットフォーム」の 2 つに分けられます。

固定プラットフォームに含まれるのは、プロセッサ コンフィギュレーション プロパティ、ペリフェラル接続情報、アドレス マップ、およびデバイス初期化コードのようなハードウェア仕様です。

拡張ハードウェア プラットフォームに含まれるのは、プラットフォーム ハードウェア仕様のほか、アクセラレーション アプリケーションで使用可能なアクセラレーション リソース (入力および出力インターフェイス、クロック、AXI バス、割り込みなど) です。Vitis により、必要に応じてデータ移動のためのカーネルおよびインフラストラクチャ モジュールが追加されます。アクセラレーション カーネルはプラットフォーム IP とデータを共有できますが、変更することはできません。ハードウェア プラットフォームの設定については、ザイリンクス ランタイムおよびプラットフォームのインストール を参照してください。

ハードウェア プラットフォームは、Vivado Design Suite で完全なプラットフォーム デザインを作成しなくても、--part オプションで作成することもできます。この方法は、評価ボードやプラットフォームがまだ入手できないデバイスをターゲットにする場合にお勧めします。このフローを使用すると、システム デザインの AI エンジン コンポーネントおよび HLS コンポーネントの開発を開始できます。フローの手順は、次のとおりです。

  1. --partAI エンジン コンポーネントをコンパイルします。
    v++ -c --mode aie --part ...
  2. hls_config.cfg ファイルで指定された part を使用して HLS コンポーネントを生成します。
    v++ --mode hls --config ...
  3. システムをリンクし、--part を使用して XSA を生成します。
    v++ --link -t hw --part ... -o fixed.xsa
  4. システムをパッケージし、固定 XSA から XCLBIN を生成します。
    v++ --package --platform fixed.xsa ...

ソフトウェア プラットフォーム

ソフトウェア プラットフォームは、アクセラレーション アプリケーションのアクセラレーション カーネルを制御するためにソフトウェアを実行する環境です。ドメイン設定とブート コンポーネントが含まれます。

AMDのビルド済みプラットフォームでは、デフォルトでザイリンクス ランタイム (XRT) をイネーブルにする Linux ドメインが含まれ、アクセラレーション アプリケーションをこの環境で実行できるようになっています。Linux カーネル イメージおよび rootfs のビルド済みバイナリは、PetaLinux ダウンロード ページの別のダウンロード ファイルに含まれます。ダウンロード センターの「エンベデッド Vitis プラットフォーム向けの共通イメージ」セクションを参照してください。デバイス ツリーはプラットフォームによって異なるので、コンポーネントとしてプラットフォーム内の Linux XRT ドメインと共に提供されています。

エンベデッド プラットフォームに Linux ドメインがある場合は、Linux ドメイン コンポーネントを提供する必要があります。これらのコンポーネントは、PetaLinux、Yocto、またはサードパーティ フレームワークで生成できます。これらのコンポーネントは、1 つの FPGA ファミリのすべての AMD デモ ボードで共有されるので、PetaLinux で生成された共通 Linux コンポーネント イメージは AMD Zynq™ 7000 SoC および AMD Zynq™ UltraScale+™ MPSoC デバイスに使用されます。

PetaLinux ダウンロード ページから、次の Linux イメージをダウンロードできます。

ルート ファイル システム (RFS)
Linux ファイル システム用のバイナリ、ライブラリ、およびセットアップが含まれます。AMDが提供する共通 rootfs には XRT がインストールされており、アクセラレーション アプリケーションをこの Linux 環境で実行できるようになっています。
カーネル イメージ
コンパイル済み Linux カーネル。AMD で提供される共通カーネル イメージには、ほとんどの AMD ペリフェラル ドライバーが含まれます。
sysroot
クロス コンパイルに使用されます。ターゲット システムのアプリケーションをコンパイルする際にリンクするライブラリを提供します。
注記: オプションで、Linux ドメイン コンポーネントをエンベデッド プラットフォームにパックできます。Vitis IDE で Linux アプリケーションを作成する際、プラットフォームで設定されていると、プラットフォーム設定の Linux ドメイン コンポーネントがデフォルトおよび初期設定になります。これらの設定は、ほかの場所にインストールされているコンポーネントで上書きできます。

AMD ビルド済みエンベデッド プラットフォームおよびビルド済み共通 Linux コンポーネントは、別のダウンロード ファイルで提供されています。共通 Linux コンポーネントは、make を実行する前に環境変数 COMMON_RFS_KRNL_SYSROOT=FALSE を設定することにより、Vitis エンベデッド プラットフォーム GitHub リポジトリでホストされているプラットフォーム ソース ファイルから再生成できます。