手順 3: Dynamic Function eXchange ウィザードを使用しデザインを完了 - 2022.1 日本語

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

Document ID
UG947
Release Date
2022-05-31
Version
2022.1 日本語
  1. Flow Navigator または [Tools] メニューから Dynamic Function eXchange Wizard をクリックし、Partial Reconfiguration ウィザードを開きます。
  2. Next をクリックして [Edit Reconfigurable Modules] ページに進みます。shift_right RM が既にあり、RM の上、ウィンドウの左側に追加、削除、編集ボタンがあります。青色の [+] アイコンをクリックし、新しい RM を追加します。
  3. [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 から構成されています。必要な数のコンフィギュレーションを作成することもできますし、単にウィザードに任せてコンフィギュレーションを自動選択することもできます。

  4. ここでは、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 つだけです。

  5. Next をクリックして [Edit Reconfigurable Runs] ページに進みます。

    コンフィギュレーションの場合と同じように、各コンフィギュレーションをインプリメントするのに使用される run が手動または自動で作成できます。階層の親子関係により run がどのように実行されるかが定義されます。まず親 (上位) run で、スタティック デザインおよびそのコンフィギュレーションのすべての RM がインプリメントされます。その後、子 run、ロックされたスタティック デザインが再利用され、そのコンテキストでそのコンフィギュレーションの RM がインプリメントされます。

  6. 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 の最小セットを自動生成

  7. 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] ウィンドウ