Vivado ツールで Dynamic Function eXchange (DFX) ベースのデザイン フローを使用すると、Vitis ソフトウェア プラットフォームで使用するエクステンシブル ザイリンクス サポート アーカイブ (XSA) ファイルを作成し、アクセラレーション用のアプリケーションを作成できます。アクセラレーション プラットフォームのハードウェア プラットフォーム開発プロセスで、次の手順を使用します。ソフトウェア開発者は、XSA を Vivado ツールにインポートして、エクステンシブル XSA ファイルを作成します。
-
Vivado IP インテグレーターのブロック デザイン コンテナー フロー
Vivado IP インテグレーターのブロック デザイン コンテナー (BDC) を使用して、DFX パーティションを作成します。BDC 機能は、IP インテグレーター キャンバスの階層ブロックをブロック デザインに変換します。この新しい BD で DFX をイネーブルにし、Vitis 環境でアクセラレーション ロジックをリンクできます。詳細は、 『Vivado Design Suite ユーザー ガイド: IP インテグレーターを使用した IP サブシステムの設計』 (UG994) のこのセクションを参照してください。
- [Platform Setup] ウィンドウ
IP integrator Platform Setup ウィンドウを使用して、AXI ポート、AXI4-Stream ポート、クロック、割り込み、メモリなどの異なるインターフェイス タイプを選択します。[Platform Setup] ウィンドウでは、プラットフォーム名、バージョン、ベンダー、およびボード情報も指定できます。詳細は、 『Vivado Design Suite ユーザー ガイド: IP インテグレーターを使用した IP サブシステムの設計』 (UG994) のこのセクションを参照してください。
DFX エンベデッド プラットフォームおよび非 DFX エンベデッド プラットフォームの作成の詳細は、 『Vitis 統合ソフトウェア プラットフォーム資料: アプリケーション アクセラレーション開発』 (UG1393) のこのセクションを参照してください。
- DFX ウィザード
デザイン ソースのターゲットを生成すると、Flow Navigator から DFX ウィザードを使用できるようになります。DFX コンフィギュレーションを定義して、DFX コンフィギュレーションをインプリメンテーション run に関連付けることができます。詳細は、 『Vivado Design Suite ユーザー ガイド: Dynamic Function eXchange』 (UG909) を参照してください。
- フロアプラン
Pblock 制約を使用して、DFX パーティションをデバイス内の物理領域に割り当てます。これは、Vitis 環境でアクセラレーション アプリケーションのインプリメンテーションに使用できます。詳細は、 『Vivado Design Suite ユーザー ガイド: Dynamic Function eXchange』 (UG909) を参照してください。
- ブート イメージ生成のための最小限のインプリメンテーション
リコンフィギャラブル パーティション BDC に最小限のロジックを保持すると、Vivado ツールでプラットフォームを作成する際のインプリメンテーションに使用できます。これにより、プラットフォームのブート イメージとして使用できるデバイス イメージのサイズを小さくできます。この最小限のコンフィギュレーションは、電源投入時にデバイスに提供される最初のイメージとしてインプリメントできますが、Vivado でデザインをコンパイルする際の親コンフィギュレーションにすべきではありません。親コンフィギュレーションは、指定されたリコンフィギャラブル パーティションに対して、すべてのリコンフィギャラブル モジュールのインターフェイスの中で最も大規模で最も複雑、および/または最も要件の厳しいものである必要があります。
- ハードウェアのエクスポート
初期インプリメンテーションが完了したら、
write_hw_platform
コマンドを使用してエクステンシブル XSA ファイルをエクスポートできます。XSA ファイルには、次の内容が含まれます。- プラットフォームのスタティック イメージ用の DCP
- アクセラレーション ソフトウェア アプリケーションにリンクする Vitis 環境用のダイナミック領域のブロック デザイン
- 初期インプリメンテーションからのデバイス イメージ
- Vivado から Vitis ツールにハードウェア デザインを正しくハンドオフするために必要なその他のメタデータ
ブート イメージのアップデートを回避するために初期インプリメンテーションとデバイス イメージを変更せずに既存のプラットフォームに新しい PFM プロパティを追加するには、次の手順を実行します。
- 元のプラットフォームの作成に使用するアーカイブ プロジェクトを開きます。
- リコンフィギャラブル パーティション (RP) に関連付けられている BD を変更し、BD を保存します。
- 初期インプリメンテーションの結果が最新であることを確認します。注記: 最新の状態でないのは、変更された RP BD のアウト オブ コンテキスト (OOC) run のみです。
-
write_hw_platform
コマンドを使用して変更されたプラットフォームをエクスポートします。
プラットフォームを変更する際は、次の事項に注意してください。
- スタティック領域に関連付けられた合成およびインプリメンテーションは、プラットフォーム変更プロセスの後も最新の状態を保持する必要があります。スタティック領域を再インプリメントすると、スタティック領域のインプリメントに使用されるデバイス イメージが変更されます。
- スタティック RP インターフェイスは変更しないでください。スタティック RP インターフェイスを変更すると、初期インプリメンテーションが最新の状態でなくなるので、スタティック領域 (ブート イメージ) を再インプリメントする必要があります。