IP インテグレーターでの DFX BDC プロジェクト フロー (Versal) - 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.1 では、IP を中心としたプロジェクト ベース環境が導入され、ブロック デザインなど IP インテグレーターの新機能が追加されています。

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

フローの概要

Dynamic Function eXchange プロジェクト フローには、既存の Vivado プロジェクト ソリューションに DFX の主な要件が追加されており、Vivado IDE と Tcl コマンドの両方からアクセスできます。Vitis と共に使用することで、完全なハードウェアおよびソフトウェア環境を作成および管理できます。主な要件は、次のとおりです。

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

Tcl コマンド

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

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

チュートリアルの要件

このデザインは VCK190 (およびその Versal AI Core VC1902 デバイス) 開発ボードをターゲットにしています。スクリプトを使用して、デザイン全体を処理するか、または部分的に処理できます。プロジェクト作成スクリプトでパーツとボードの参照を変更すれば、VMK180 (およびその Versal Prime VM180 デバイス) もターゲットにできますが、このデザインはそのハードウェアではテストされていないことに注意してください。プロジェクトのアーカイブに含まれる主なスクリプトには、次のものがあります。

  • run_all.tcl: ブロック デザイン作成からビットストリーム生成およびハードウェア エクスポートまでのフロー全体を実行します。DFX ウィザードによる管理手順もすべて含まれます。スクリプトを次の順に呼び出します。
    • create_top_bd.tcl: 完全にフラットなデザインのスタティック ブロック デザインとすべての IP を作成します。このスクリプトを実行してからインプリメンテーションを実行すると、VCK190 の標準 (非 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 インテグレーター デザインを使用した繰り返し実行については説明しません。