IP インテグレーターでの DFX BDC プロジェクト フロー (Zynq UltraScale+) - 2022.1 日本語

Vivado Design Suite チュートリアル: Dynamic Function eXchange (UG947)

Document ID
UG947
Release Date
2022-05-31
Version
2022.1 日本語

ザイリンクス FPGA、SoC、および ACAP の Dynamic Function eXchange (DFX) には、従来のソリューションにはない新しいデザイン要件があります。ボトムアップ合成および複数インプリメンテーションの両方が必要になるため、ソースおよび run の管理に特有の方法が使用されます。2021 より前の Vivado® リリースでは、非プロジェクト Tcl ベースおよび RTL プロジェクト ベースのソリューションのみが使用可能でした。 Vivado® 2021.2 では、IP を中心としたプロジェクト ベース環境が導入され、ブロック デザインなど IP インテグレーターの新機能が追加されています。

このチュートリアルでは、IP インテグレーターのブロック デザイン コンテナー機能を使用して、プロジェクト作成から、 Zynq® UltraScale+™ MPSoC および RFSoC ターゲットのパーシャル ビットストリーム作成までの Vivado ツール フローを説明します。この基本フローは、Virtex、 Kintex® UltraScale™ 、および UltraScale+™ ターゲットにも適用できます。次の演習では、 Versal® ACAP ターゲットでの同等のソリューションを説明します。

フローの概要

Dynamic Function eXchange プロジェクト フローには、既存の Vivado® プロジェクト ソリューションに DFX の主な要件が追加されており、Vivado IDE と Tcl コマンドの両方からアクセスできます。主な要件は、次のとおりです。

  • ブロック デザイン コンテナー (BDC) を作成してプロジェクト内に階層を指定。
  • デザイン階層内で BDC をリコンフィギャラブル パーティションとして定義。
  • 各リコンフィギャラブル パーティションにリコンフィギャラブル モジュールのセットを配置。
  • 最上位およびモジュール レベルの合成 run のセットを作成。
  • 関連インプリメンテーション run のセットを作成。
  • ソース、制約、オプションの変更に応じて依存関係を管理。
  • ルールおよび結果をチェック。
  • コンフィギュレーションを検証。
  • フル ビットストリームとパーシャル ビットストリームの互換性のあるセットを生成。
  • Zynq UltraScale+ ターゲット デバイスにフル イメージおよびパーシャル イメージを配布。

Tcl コマンド

Dynamic Function eXchange の機能およびタスクは、 Vivado® IDE 環境のほかの機能およびタスクと同様に、バックグラウンドで Tcl コマンドを使用して実行されます。DFX プロジェクト サポートの主な目標の 1 つは、同じプロジェクトで GUI、スクリプト、コマンド ラインを切り替えて使用しても、スムーズに作業できるようにすることです。実際に実行された Tcl コマンドを確認するには、プロジェクトの Vivado® ジャーナル ファイルを開きます。このファイルを開くには、File > Open Journal をクリックします。これらの Tcl コマンドに関しては、このユーザー ガイドでは説明されていません。Write Project Tcl オプションを使用したプロジェクト スクリプトのエクスポート機能もサポートされています。各コマンドの詳細は、コマンドの -help オプションを使用してください。

IP インテグレーター内での DFX プロジェクト チュートリアル

チュートリアルの要件

使用されているデザインは、ZCU102 開発ボードをターゲットにしています。スクリプトを使用して、デザイン全体を処理するか、または部分的に処理できます。プロジェクトのアーカイブに含まれる主なスクリプトには、次のものがあります。

  • run_all.tcl: ブロック デザイン作成からビットストリーム生成およびハードウェア エクスポートまでのフロー全体を実行します。DFX ウィザードによる管理手順もすべて含まれます。スクリプトを次の順に呼び出します。
    • create_top_bd.tcl: 完全にフラットなデザインのスタティック ブロック デザインとすべての IP を作成します。このスクリプトを実行してからインプリメンテーションを実行すると、ZCU102 の標準 (非 DFX) インプリメンテーションを生成できます。
    • create_rp1_bdc.tcl: 2 つの階層を作成し、1 つをブロック デザイン コンテナーに変換します。
    • enable_dfx_bdc.tcl: 標準 BDC を DFX BDC にします。
    • create_rp1rm2.tcl: 既存の DFX BDC の新しい RM を作成します。
    • run_impl.tcl: フローの残りの手順を実行します。このスクリプトは、最上位のラッパーを作成し、デザイン制約を追加して、DFX ウィザードを実行します。その後、IP 結果から合成およびインプリメンテーション実行まで、デザインのすべての出力を生成し、ハードウェア ハンドオフ用のビットストリームおよび XSA ファイルを作成します。

このチュートリアルは、 Vivado® Tcl シェルで run_all.tcl スクリプトを実行して、スクリプトのみで完全に実行できます。各サブセクションは、上記のその他の Tcl スクリプトを使用して、個別に実行することもできます。このチュートリアルでは、ほとんどのステップを手動で実行し、フロー全体を通してどのようなタスクが実行されているのかを示します。サブセクションのスクリプトについては、フローを進めながら説明します。このチュートリアルでは、IP インテグレーター デザインを使用した繰り返し実行については説明しません。