抽象化シェルの作成および使用 - 2023.2 日本語

Vivado Design Suite ユーザー ガイド: Dynamic Function eXchange (UG909)

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

DFX デザインに対してリコンフィギャラブル パーティション (RP) の定義、デザイン ソースのビルド、および出力ファイルの生成 (IP インテグレーター フロー) が完了したら、DFX ウィザードを開きます。ウィザードの最初の数ページは、この章で前述した標準的な DFX フローと同じです。抽象化シェルに関係なく、同じ方法でリコンフィギャラブル モジュールとコンフィギュレーションを管理します。抽象化シェルに特定の機能は、[Configuration Runs] ページから開始します。ウィザードを初めて使用する場合、またはすべてのコンフィギュレーション run を削除した場合、オートメーションに対して 2 つの選択肢があります。

図 1. コンフィギュレーション run の自動生成

[Standard DFX] リンクをクリックすると、各コンフィギュレーション run に対してフル スタティック デザイン イメージを使用するベースの DFX プロジェクト フローが使用されます。config_1 は親 run で、残りのコンフィギュレーションはすべて、その親 run に依存する子 run です。次の図では、config_2 および config_3 は、新しいリコンフィギャラブル モジュールをインプリメントするための開始点として、config_1 からのフル ロックされたスタティック デザイン チェックポイントを使用します。

図 2. 標準 DFX コンフィギュレーション run

[Abstract Shell] リンクをクリックすると、同じような結果になり、親コンフィギュレーションは同じですが、各子 run は、特定のターゲット リコンフィギャラブル パーティションに対して抽象化シェルを使用します。

図 3. 抽象化シェル コンフィギュレーション run

画像からわかるように、これらの方法間の相違は [DFX Mode] で確認できます。ここでの選択肢により、親コンフィギュレーション run の最後に記述されるデザイン チェックポイントが決定されます。親 run は常に、デザインのスタティックおよびダイナミック部分 (RP ごとに 1 つの RM) を含むフル デザイン イメージを作成します。違いは、子 run に対して作成されるロックされたスタティック シェルです。

[DFX Mode] に [STANDARD] を設定した場合
スタティック デザイン全体、各リコンフィギャラブル パーティションに対して 1 つのブラック ボックス、およびロックされたすべての配置配線を含む 1 つのチェックポイントが作成されます。
[DFX Mode] に [ABSTRACT SHELL] を設定した場合
各リコンフィギャラブル パーティションに対して抽象化シェルをそれぞれ含む 1 つまたは複数のチェックポイントが作成されます。抽象化シェルには、RP に対して 1 つのブラック ボックス、およびスタティック デザインのロックされた配置配線も含まれますが、新しい RM のインプリメンテーションのコンテキストを提供するために、スタティック情報の量は必要最小限にされます。

[RM Instance] では、抽象化シェル フローでのみ使用されるほかのオプションを確認できます。これにより、特定の子 run をターゲットとするリコンフィギャラブル パーティションと、その RP にインプリメントされるリコンフィギャラブル モジュールが宣言されます。

注記: 1 つ以上のグレー ボックス RM を含むコンフィギュレーションは、Standard DFX がコンフィギュレーション run の自動作成に選択されている場合、それらのコンフィギュレーションがユーザーにより明示的に宣言されているので、子 run として追加されます。ただし、グレー ボックス RM は、そのモードが自動作成に選択されている場合、抽象化シェルの子 run としては追加されません。これらの run は、必要に応じて手動で作成できます。

コンフィギュレーション run の自動生成に対して [Abstract Shell] リンクをクリックしなかった場合は、新しいセットのコンフィギュレーション run に対してこれを直接設定できます。

まず [+] アイコンをクリックし、合成済みデザインを使用して開始する新しい親コンフィギュレーション run を作成します。開いたダイアログ ボックスで、[DFX Mode] から [ABSTRACT SHELL] を選択します。

図 4. 新しい親 run の作成
注記: [Auto Create Child Runs] チェック ボックスはデフォルトでオンになっています。これがオンになっていると、親コンフィギュレーションに含まれていない既存の RM (グレー ボックス以外) をすべてインプリメントするのに必要な数の子インプリメンテーション run が作成されます。

このような子 run を手動で作成するために [Auto Create Child Runs] チェック ボックスをオフにした場合は、もう一度 [+] をクリックして別の run を作成します。作成された run に対して親を設定します。[Parent] に抽象化シェル親インプリメンテーションを設定すると、[DFX Mode] および [Configuration] は淡色表示になります。その理由は、子 run は、それが関連している親の構造に従う必要があるからです。この抽象化シェル内にインプリメントする新しい RM インスタンスを [RM Instance] から選択します。

図 5. 既存の親 run に対する子 run の作成

[Configuration Runs] ページに戻ると、run にインプリメントされている RM インスタンスを確認して変更したり、使用される制約またはストラテジを設定したりできます。

図 6. 子 run に対する RM インスタンスの設定

デザインをインプリメントすると、親 run がまずコンパイルされ、その後すべての子 run を並列で開始できます。ほとんどすべての場合、抽象化シェル run は同等のフル コンフィギュレーション子 run よりも高速になります。複数のリコンフィギャラブル パーティションを含むデザインでは、各リコンフィギャラブル モジュールを並列でコンパイルすると、全体的なコンパイル時間がさらに削減されます。