手順 5: デザイン フロアプランの構築 - 2023.2 日本語

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

Document ID
UG947
Release Date
2023-11-29
Version
2023.2 日本語

次に、Dynamic Function eXchange 用の領域を定義するため、フロアプランを作成します。

  1. Netlist ウィンドウで inst_count インスタンスを選択します。右クリックして Floorplanning > Draw Pblock をクリックし、デバイスの左上に細長い長方形を描画します。この段階では、長方形のサイズや形状は重要ではありませんが、クロック領域内に収めてください。

    作業を続ける前に、Device ウィンドウで Pblock が選択されていることを確認してください。



    このリコンフィギャラブル モジュールに必要なのは CLB リソースのみですが、長方形に RAMB18、RAMB36、DSP48 ブロック タイプが含まれる場合は、それらのリソースも含まれます。これにより、これらのブロック タイプの配線リソースが、リコンフィギャラブル領域に含まれます。必要に応じて、Pblock PropertiesGeneral ビューを使用してこれらのブロック タイプを追加できます。Statistics ビューには、現在読み込まれているリコンフィギャラブル モジュールのリソース要件が表示されます。

  2. inst_shift インスタンスに対しても同じ手順を繰り返しますが、今回は最初にターゲットにしたクロック領域の下にある、別のクロック領域をターゲットにします。このリコンフィギャラブル モジュールにはブロック RAM インスタンスが含まれているので、そのリソース タイプを含める必要があります。そのリソース タイプが含まれていない場合は、Statistics ビューで RAMB の詳細が赤で表示されます。
  3. Reports > Report DRC をクリックして、Dynamic Function eXchange のデザイン ルール チェックを実行します。All Rules をオフにし、Dynamic Function eXchange をオンにして、DFX DRC のみのレポートを作成します。

    inst_shift Pblock に RAMB18 および RAMB36 リソースが含まれていれば、DRC エラーはレポートされません。Pblock がデバイスのエッジ近くに配置されている場合は特に、アドバイザリ メッセージが表示されることがあります。Pblock Properties ウィンドウの Properties ビューに示されているように、両方の Pblock に対して [SNAPPING_MODE] がオンに設定されています。すべての UltraScale および UltraScale+ デバイスでは、アーキテクチャのプログラマブル ユニットの粒度を考慮し、[SNAPPING_MODE] は常にオンになっています。

  4. Pblock および関連付けられているプロパティを保存します。
    write_xdc ./Sources/xdc/top_all.xdc

    これにより、top_io_$board.xdc から先にインポートしてあった制約も含め、デザインの現在の制約がすべてエクスポートされます。これらの制約は、XDC ファイルで管理するか、または run スクリプトで管理できます (通常は HD.RECONFIGURABLE を使用)。

    または、Pblock 制約を抽出して個別に管理できます。このタスクを実行しやすくするための Tcl プロシージャがあります。

    1. Tcl ユーティリティ ファイルの 1 つにある、次のプロシージャを実行します。
      source ./Tcl_HD/hd_utils.tcl
    2. export_pblocks プロシージャを使用して、この制約情報を出力します。
      export_pblocks -file ./Sources/xdc/pblocks.xdc

      デザインの両方の Pblock の制約情報が出力されます。いずれか一方のみを選択する場合は、-pblocks オプションを使用します。