ビットストリームの作成 - 2023.2 日本語

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

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

Nested DFX 設計手法では、HD.RECONFIGURABLE プロパティを階層内で上下に移動します。インプリメンテーション ツールは、現在どのセルがリコンフィギャラブルとして定義されているかによって、標準の DFX 設計規則に従います。これは write_bitstream にも当てはまります。パーシャル ビットストリームは、現在 HD.RECONFIGURABLE プロパティを保持しているセルに対してのみ作成されます。

Vivado で完全に配線済みのデザイン チェックポイントを使用する場合は、write_bitstream でフルおよびパーシャル ビットストリームを生成します。デフォルトでは、このコマンドはデバイス全体の標準フル ビットストリームと、現在リコンフィギャラブル パーティションとして定義されている各セルのパーシャル ビットストリームを生成します。次の 2 つのオプションがあります。
  • -cell オプションは、指定したセルのパーシャル ビットストリームのみを生成します。
  • -no_partial_bitfile オプションは、標準的なフル デバイス ビットストリームのみを生成します。
次のスクリプトを実行して、インプリメンテーションされた既存のコンフィギュレーションのフルおよびパーシャル ビットストリームのコレクションを作成します。時間とスペースを節約するため、1 つのフル デバイス ビットストリームのみが作成されます。
source generate_all_bitstreams.tcl

このスクリプトは、各チェックポイントを 1 つずつ開き、特定のフルまたはパーシャル ビットストリームを書き出します。ビットストリームは互換性に基づいてサブフォルダーに分けられます。各ビットストリームは、-no_partial_bitfile オプション (次にリストする最初のビットストリーム) または -cell オプション (それ以外のすべてのビットストリーム) のいずれかを使用して作成されます。後者を使用する場合、パーシャル ビット ファイル名は任意の名前にできます。ファンクション、バージョン、および互換性を明確に示す名前を使用してください。次は、各フォルダーで生成される 11 個のビットストリームです。

  • Bitstreams
    • top_shift_right_right.bit
  • Bitstreams/inst_RP
    • inst_RP_shift_right_right_recombined_partial.bit
    • inst_RP_count_up_up_recombined_partial.bit
  • Bitstreams/inst_shift
    • shift_right_upper_partial.bit
    • shift_right_lower_partial.bit
    • shift_left_upper_partial.bit
    • shift_left_lower_partial.bit
  • Bitstreams/inst_count
    • count_up_upper_partial.bit
    • count_up_lower_partial.bit
    • count_down_upper_partial.bit
    • count_down_lower_partial.bit

これらに加え、UltraScale の場合は、上記にリストされるパーシャル ビット ファイルごとに 1 つずつ、クリア ビット ファイルも生成されます。ベース名は同じになりますが、ファイル名の最後に _clear が付きます。これらの使用方法については、この演習の次のセクションで説明します。

また、グレー ボックス コンフィギュレーション用のパーシャル ビットストリームを作成、インプリメント、および生成するためのコマンドについても説明します。これらはソリューションには必要ありませんが、特定のリコンフィギャラブル パーティション内でアクティビティをオフにするために使用できます。グレー パラメーターを true に設定してから、generate_all_bitstreams.tcl スクリプトを読み込んで、これらのオプションのパーシャル ビットストリームを作成します。

グレー ボックスのパーシャル (およびクリア) ビットストリームは、二次 RP それぞれ (合計 4 つ) および一次 RP (inst_RP) に対して作成され、二次 RP のグレー ボックスを含む各 inst_RP RM インスタンス (reconfig_shifters、reconfig_counters) ごとにも作成されます。
  • Bitstreams/inst_RP
    • inst_RP_grey_partial.bit
    • reconfig_shifters_grey_grey_partial.bit
    • reconfig_counters_grey_grey_partial.bit
  • Bitstreams/inst_shift
    • shift_upper_grey_partial.bit
    • shift_lower_grey_partial.bit
  • Bitstreams/inst_count
    • count_upper_grey_partial.bit
    • count_lower_grey_partial.bit

initial top_route_design.dcp チェックポイントから作成されるビットストリームはありません。これは必要がないからです。このデザインの最上位のスタティック イメージはほかのすべてのデザインと同じで、shift_right-shift_right ファンクションは最初に分割された run と論理的に同じであるためです。後者のインプリメンテーション結果は、新しい RP が導入されたために異なりますが、分割前から shift_right-shift_right パーシャル イメージを読み込む場合は、二次シフターを個別にスワップ アウトできませんでした。

この演習では、フル デバイス ビットストリームは、デザインのこの shift_right-shift_right バージョンに対してのみ作成されますが、一次および二次リコンフィギャラブル モジュールの有効な組み合わせに対しては、フル デバイス ビットストリームを生成できます。これは、デバイスの初期動作をどのようにするかによって異なります。count_up-count_down バージョン、または二次 RP ごとにグレー ボックスが付いたシフター バージョンを作成できます。これには、配線済みモジュールのチェックポイントをロックされた最上位スタティックにリンクしてから、write_bitstream を呼び出します。

つまり、pr_subdivide ファンクションを使用して相対的なスタティック層をそれぞれロックし、トップダウンでデザイン結果を作成します。そのあと、上位レベルのリコンフィギャラブル パーティションに戻るため、pr_recombine を使用して、そのレベルでパーシャル ビットストリームを生成するチェックポイントを作成します。