DFX ベースの Vitis アクセラレーション プラットフォーム開発におけるデザイン プランニングに関する考慮事項 - 2023.2 日本語

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

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

Vivado ツールで Dynamic Function eXchange (DFX) ベースのデザイン フローを使用すると、Vitis ソフトウェア プラットフォームで使用するエクステンシブル ザイリンクス サポート アーカイブ (XSA) ファイルを作成し、アクセラレーション用のアプリケーションを作成できます。アクセラレーション プラットフォームのハードウェア プラットフォーム開発プロセスで、次の手順を使用します。ソフトウェア開発者は、XSA を Vivado ツールにインポートして、エクステンシブル XSA ファイルを作成します。

  1. Vivado IP インテグレーターのブロック デザイン コンテナー フロー

    Vivado IP インテグレーターのブロック デザイン コンテナー (BDC) を使用して、DFX パーティションを作成します。BDC 機能は、IP インテグレーター キャンバスの階層ブロックをブロック デザインに変換します。この新しい BD で DFX をイネーブルにし、Vitis 環境でアクセラレーション ロジックをリンクできます。詳細は、 『Vivado Design Suite ユーザー ガイド: IP インテグレーターを使用した IP サブシステムの設計』 (UG994)このセクションを参照してください。

  2. [Platform Setup] ウィンドウ

    IP integrator Platform Setup ウィンドウを使用して、AXI ポート、AXI4-Stream ポート、クロック、割り込み、メモリなどの異なるインターフェイス タイプを選択します。[Platform Setup] ウィンドウでは、プラットフォーム名、バージョン、ベンダー、およびボード情報も指定できます。詳細は、 『Vivado Design Suite ユーザー ガイド: IP インテグレーターを使用した IP サブシステムの設計』 (UG994)このセクションを参照してください。

    DFX エンベデッド プラットフォームおよび非 DFX エンベデッド プラットフォームの作成の詳細は、 『Vitis 統合ソフトウェア プラットフォーム資料: アプリケーション アクセラレーション開発』 (UG1393)このセクションを参照してください。

  3. DFX ウィザード

    デザイン ソースのターゲットを生成すると、Flow Navigator から DFX ウィザードを使用できるようになります。DFX コンフィギュレーションを定義して、DFX コンフィギュレーションをインプリメンテーション run に関連付けることができます。詳細は、 『Vivado Design Suite ユーザー ガイド: Dynamic Function eXchange』 (UG909) を参照してください。

  4. フロアプラン

    Pblock 制約を使用して、DFX パーティションをデバイス内の物理領域に割り当てます。これは、Vitis 環境でアクセラレーション アプリケーションのインプリメンテーションに使用できます。詳細は、 『Vivado Design Suite ユーザー ガイド: Dynamic Function eXchange』 (UG909) を参照してください。

  5. ブート イメージ生成のための最小限のインプリメンテーション

    リコンフィギャラブル パーティション BDC に最小限のロジックを保持すると、Vivado ツールでプラットフォームを作成する際のインプリメンテーションに使用できます。これにより、プラットフォームのブート イメージとして使用できるデバイス イメージのサイズを小さくできます。この最小限のコンフィギュレーションは、電源投入時にデバイスに提供される最初のイメージとしてインプリメントできますが、Vivado でデザインをコンパイルする際の親コンフィギュレーションにすべきではありません。親コンフィギュレーションは、指定されたリコンフィギャラブル パーティションに対して、すべてのリコンフィギャラブル モジュールのインターフェイスの中で最も大規模で最も複雑、および/または最も要件の厳しいものである必要があります。

  6. ハードウェアのエクスポート

    初期インプリメンテーションが完了したら、write_hw_platform コマンドを使用してエクステンシブル XSA ファイルをエクスポートできます。XSA ファイルには、次の内容が含まれます。

    • プラットフォームのスタティック イメージ用の DCP
    • アクセラレーション ソフトウェア アプリケーションにリンクする Vitis 環境用のダイナミック領域のブロック デザイン
    • 初期インプリメンテーションからのデバイス イメージ
    • Vivado から Vitis ツールにハードウェア デザインを正しくハンドオフするために必要なその他のメタデータ

ブート イメージのアップデートを回避するために初期インプリメンテーションとデバイス イメージを変更せずに既存のプラットフォームに新しい PFM プロパティを追加するには、次の手順を実行します。

  1. 元のプラットフォームの作成に使用するアーカイブ プロジェクトを開きます。
  2. リコンフィギャラブル パーティション (RP) に関連付けられている BD を変更し、BD を保存します。
  3. 初期インプリメンテーションの結果が最新であることを確認します。
    注記: 最新の状態でないのは、変更された RP BD のアウト オブ コンテキスト (OOC) run のみです。
  4. write_hw_platform コマンドを使用して変更されたプラットフォームをエクスポートします。

プラットフォームを変更する際は、次の事項に注意してください。

  • スタティック領域に関連付けられた合成およびインプリメンテーションは、プラットフォーム変更プロセスの後も最新の状態を保持する必要があります。スタティック領域を再インプリメントすると、スタティック領域のインプリメントに使用されるデバイス イメージが変更されます。
  • スタティック RP インターフェイスは変更しないでください。スタティック RP インターフェイスを変更すると、初期インプリメンテーションが最新の状態でなくなるので、スタティック領域 (ブート イメージ) を再インプリメントする必要があります。