手順 9: 追加リコンフィギャラブル モジュールおよびコンフィギュレーションの追加 - 2022.1 日本語

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

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

この手順では、3 つ目の RM を追加し、そのコンフィギュレーションをインプリメントします。この RM は同じ乗算器ファンクションですが、ILA インスタンシエーションがコメントアウトされています。このモジュールにはデバッグ コアはありませんが、すべての RM に対して一貫性を持たせるため、デバッグに特化したポート名 (および使用されている場合はその属性) が必要です。これらのポートは、グレー ボックスの場合と同じように LUT を介して接続されています。

  1. Dynamic Function eXchange ウィザードを開きます。
  2. Edit Reconfigurable Modules ページで + ボタンをクリックし、新しい RM を追加します。
    図 1. 新規 RM mult_no_ila の追加

  3. <Extract_Dir>\Sources\hdl\multiplier_without_ila にある mult_no_ila.v ファイルを選択してリコンフィギャラブル モジュールに mult_no_ila という名前を付け、OK をクリックしてから Next をクリックします。
    図 2. mult_no_ila コンフィギュレーションの作成

    [Edit Configurations] ページにコンフィギュレーションを自動作成するオプションがなくなっています。これは、既にコンフィギュレーションが 2 つ存在しているからです。既存のコンフィギュレーションをすべて削除するとこのオプションが再び表示されますが、そうすると、すべてのコンフィギュレーションがまた作成され、既に生成されている結果ファイルがすべて削除されます。

  4. [+] ボタンをクリックして新しいコンフィギュレーションを作成し、config_mult_no_ila という名前を付けて OK をクリックします。リコンフィギャラブル モジュールとして [mult_no_ila] を選択します。
    図 3. 新しいコンフィギュレーション run の作成

  5. Next をクリックして [Configuration Runs] に進みます。[+] ボタンをクリックして、次のプロパティを設定し、コンフィギュレーションを新規作成します。
    • [Run]: child_1_impl_1 - 既存のルールに従った名前を付けますが、どのような名前を付けてもかまいません。
    • [Parent]: impl_1 - このコンフィギュレーションは、既存の親 run の子 run になります。
    • [Configuration]: config_mult_no_ila – 先ほど定義した新規 RM のコンフィギュレーションです。

    OK をクリックして、この新しいコンフィギュレーションを受け入れます。

    図 4. 新しいコンフィギュレーション run の作成

    この新しいコンフィギュレーションは、既存の impl_1 の子で、config_add の場合と同じように、スタティック デザイン インプリメンテーションの結果を再利用します。この時点で 3 つの run があり、そのうち 2 つが最初の親の子です。緑色のチェック マークは、これらの run のうち 2 つが現在完了していることを示しています。

    図 5. 新しく子 run として追加された config_mult_no_ila コンフィギュレーション

  6. Next をクリックし、さらに [Finish] をクリックして、この新規コンフィギュレーション run を構築します。
    図 6. 新しく追加された OOC 合成 run およびコンフィギュレーション run

  7. この新しく追加した子インプリメンテーション run を選択して右クリックし、[Launch Runs] をクリックします。これで、mult_no_ila モジュールに対し OOC 合成が実行され、それからロックされたスタティック デザインのコンテキスト内でこのモジュールがインプリメントされます。
    注意:
    Flow Navigator で [Run Implementation] を選択しないでください。完了済みのインプリメンテーション run であっても、すべて再実行されます。
  8. インプリメンテーションが完了した後に開くダイアログ ボックスで Cancel をクリックします。

    child_1_impl_1 を右クリックし、[Open Run] をクリックします。デバイスのビューでは次の 2 点に注意してください。

    1. スタティック ロジックはロックされているので、オレンジ色で表示されます。
    2. [Design Runs] タブで、RP Pblock のロジック数がほかのコンフィギュレーションと比較してかなり小さい点に注目してください。
  9. Tools > Schematic をクリックして (または F4 キーを押して)、回路図ビューを開きます。下位にある math_rp インスタンスに移動し、すべての BSCAN ポートが LUT に接続され、ILA または Dbg_Hub コアが挿入されていないことを確認します。