- Flow Navigator または [Tools] メニューから Dynamic Function eXchange Wizard をクリックし、Partial Reconfiguration ウィザードを開きます。
- Next をクリックして [Edit Reconfigurable Modules] ページに進みます。shift_right RM が既にあり、RM の上、ウィンドウの左側に追加、削除、編集ボタンがあります。青色の [+] アイコンをクリックし、新しい RM を追加します。
- [Add Directories] ボタンをクリックして [shift_left] フォルダーを選択します。
<Extract_Dir>\Sources\hdl\shift_left
または、[Add Files] ボタンをクリックし、このディレクトリにある shift_left.v ファイルを選択します。モジュール レベルの制約が必要な場合は、ここで追加します。その場合、制約をこのパーティションの階層に合わせる必要があります。
[Reconfigurable Module] フィールドに「
shift_left
」と入力します。[Partition Definition] をshifter
に設定し、[Top Module] フィールドを空白のままにし、[Sources are already synthesized] チェック ボックスをオフにします。OK をクリックし、この新しいモジュールを作成します。これで、シフター RP に対し、リコンフィギャラブル モジュールが 2 つ使用できるようになりました。
図 1. リコンフィギャラブル モジュールを 2 つ定義した Dynamic Function eXchange ウィザード
次のページでは Configurations を定義します。コンフィギュレーションはフル デザインのイメージで、スタティック デザインと、RP ごとに 1 つの RM から構成されています。必要な数のコンフィギュレーションを作成することもできますし、単にウィザードに任せてコンフィギュレーションを自動選択することもできます。
- ここでは、automatically create configurations リンクを選択して、コンフィギュレーションをウィザードで自動作成します。図 2. Dynamic Function eXchange ウィザードの [Configurations] ページ
このオプションを選択した後は、最低 2 つのコンフィギュレーションがセットになって作成されます。2 つあるシフト インスタンスのうち、
shift_right
を 1 番目のコンフィギュレーションに、shift_left
を 2 番目のコンフィギュレーションに割り当てます。[Configuration Name] は編集可能なフィールドです。次の例では、それぞれに含まれるリコンフィギャラブル モジュールを反映し、名前がconfig_right
およびconfig_left
にアップデートされています。図 3. 自動生成された最小セットのコンフィギュレーション
追加コンフィギュレーションは、この 2 つの RM を使用して作成できますが、どの RP でも最大 RM 数は 2 なので、このバージョンのデザインに必要なパーシャル ビットストリームをすべて作成するのに必要なコンフィギュレーションは 2 つだけです。
-
Next をクリックして [Edit Reconfigurable Runs] ページに進みます。
コンフィギュレーションの場合と同じように、各コンフィギュレーションをインプリメントするのに使用される run が手動または自動で作成できます。階層の親子関係により run がどのように実行されるかが定義されます。まず親 (上位) run で、スタティック デザインおよびそのコンフィギュレーションのすべての RM がインプリメントされます。その後、子 run、ロックされたスタティック デザインが再利用され、そのコンテキストでそのコンフィギュレーションの RM がインプリメントされます。
-
automatically create configuration
run リンクをクリックすると、最低数の run で [Configuration Runs] ページに情報が自動入力されます。図 4. Dynamic Function eXchange ウィザード
これで、親コンフィギュレーション (
config_right
) 1 つ、および子コンフィギュレーション (config_left
) 1 つの run が 2 つ作成されます。独立した run でも関連している run でも、このウィザード内で、異なるストラテジや制約セットを使用し、必要な数だけ run を作成できます。ここでは、run はこの 2 つだけにとどめておきます。これらの run の名前は編集できないので注意してください。図 5. コンフィギュレーション run の最小セットを自動生成
-
Next をクリックして [Summary] ページを確認し、Finish をクリックしてウィザードを終了します。重要: [Finish] をクリックして DFX ウィザードを終了するまでは、何も作成されず、変更も反映されません。[Finish] ボタンをクリックするまで、それまでの作業内容はすべてキューに残っているので、変更部分をインプリメントしないで、ウィザードの前のページに戻って、納得がいくまで設定を変更することが可能です。
Vivado® IDE に戻り、[Design Runs] ウィンドウがアップデートされているのを確認します。shift_left RM に 2 番目のアウト オブ コンテキスト合成 run が追加され、子インプリメンテーション run (child_0_impl_1) が親 (impl_1) の下に作成されます。これでデザインを処理する準備が整いました。
図 6. 合成およびインプリメンテーションがすべて起動できる状態になった [Design Runs] ウィンドウ