コンフィギュレーションの検証
推奨: ビットストリームを生成する前に、すべてのコンフィギュレーションを検証し、各コンフィギュレーションのスタティック部分が同じであり、生成したビットストリームがシリコンで使用しても安全であることを確認します。PR の検証機能は、パーティション ピンを含め、それらが同じであることを確認するところまで、スタティック デザインを検証します。リコンフィギャラブル モジュール内の配置配線は、ここでは異なるモジュール結果が予測されるため、オフになっています。
- Tcl コンソールで pr_verify コマンドを実行します。
pr_verify Implement/Config_shift_right_count_up_implement/top_route_design.dcp Implement/Config_shift_left_count_down_import/top_route_design.dcp
問題なく実行されると、次のようなメッセージが表示されます。
INFO: [Vivado 12-3253] PR_VERIFY: check points Implement/Config_shift_right_count_up/top_route_design.dcp and Implement/Config_shift_left_count_down/top_route_design.dcp are compatible
デフォルトでは、不一致がある場合に最初の不一致のみがレポートされます。すべての不一致を表示させるには、
-full_check
オプションを使用します。 - プロジェクトを閉じます。
close_project
ビットストリームの生成
コンフィギュレーションを検証できたので、ビットストリームを生成し、それを使用して選択したデモ ボードをターゲットにします。
注記: 最初のコンフィギュレーションでは
shift_right
および count_up
がインプリメントされます。2 番目のコンフィギュレーションでは shift_left
および count_down
がインプリメントされます。- 最初のコンフィギュレーションをメモリに読み込みます。
open_checkpoint Implement/Config_shift_right_count_up_implement/top_route_design.dcp
- このデザインのフルおよびパーシャル ビットストリームを生成します。ビットストリームが生成されたフル デザイン チェックポイントに関連したディレクトリ (重複しない場所) にビット ファイルを保存してください。
5 つのビットストリームが生成されていることに注目してください UltraScale+™ を使用している場合は 3 つ)。write_bitstream -force -file Bitstreams/Config_RightUp.bit close_project
-
Config_RightUp.bit
: パワーアップ、フル デザイン ビットストリームです。右の 4 つのシフト LED は右にシフトし、左の 4 つのカウント LED はカウントアップします。 -
Config_RightUp_pblock_inst_shift_partial.bit
: シフト LED に右方向へシフトさせる shift_right モジュールのパーシャル ビット ファイルです。 -
Config_RightUp_pblock_inst_count_partial.bit
: カウント LED にカウントアップさせる count_up モジュールのパーシャル ビット ファイルです。 -
Config_RightUp_pblock_inst_shift_partial_clear.bit
: UltraScale デバイス専用の shift_right モジュールのクリア ビット ファイルです。シフト モジュールがリコンフィギュレーションできるよう、右シフトを安全にクリアにします。 -
Config_RightUp_pblock_inst_count_partial_clear.bit
: UltraScale デバイス専用の count_up モジュールのクリア ビット ファイルです。カウント モジュールがリコンフィギュレーションできるよう、アップ カウントを安全にクリアにします。
-
重要:
write_bitstream
を 1 回呼び出して BIT ファイルを生成する場合、ファイル名にリコンフィギャラブル モジュールのバリエーションの名前が反映されず、どのイメージが読み込まれるのかがはっきりわかりません。この解決策として、- file
オプションを使用して、リコンフィギャラブル セルの Pblock 名に基本名を付けます。リコンフィギャラブル ビット ファイルをはっきりと識別できるよう、わかりやすい基本名を付けることが大切です。パーシャル ビットにはすべて _partial
という接尾辞が付き、クリア ビット ファイルにはすべて _partial_clear
という接尾辞が付きます。ビットストリーム生成までデザイン全体の処理に
run_dfx.tcl
を使用する場合は、異なるビットストリーム生成テクニックが使用されます。配線済みのデザイン チェックポイントを開くと、write_bitstream
が複数回呼び出されるので、ビットストリームに名前が付けやすくなり、また、フル/パーシャルのビットストリームに異なるオプション (ビットストリムの圧縮など) を適用できます。たとえば、run_dfx.tcl
スクリプトで設定される名前は次のようになります。-
Config_shift_right_count_up_implement_full.bit
: パワーアップ、フル デザイン ビットストリームです。 -
pblock_shift_shift_right_partial.bit
:shift_right
モジュールのパーシャル ビット ファイルです。 -
pblock_count_count_up_partial.bit
:count_up
モジュールのパーシャル ビット ファイルです。 -
pblock_shift_shift_right_partial_clear.bit
: UltraScale デバイス専用のshift_right
モジュールのクリア ビット ファイルです。 -
pblock_count_count_up_partial_clear.bit
: UltraScale デバイス専用のcount_up
モジュールのクリア ビット ファイルです。
- 2 番目のコンフィギュレーションのフルおよびパーシャル ビットストリームを生成します。生成されたビット ファイルを該当フォルダーに保存します。
今回も同様に 5 つ (または 3 つ) のビットストリームが生成されますが、ベース名は異なります。open_checkpoint Implement/Config_shift_left_count_down_import/top_route_design.dcp write_bitstream -force -file Bitstreams/Config_LeftDown.bit close_project
- グレー ボックスを使用してフル ビットストリームを生成し、さらにリコンフィギャラブル モジュール用にブランキング ビットストリームも生成します。ブランキング ビットストリームは、消費電力を低減する目的で、既存のコンフィギュレーションを「消去」するために使用できます。 注記: グレー ボックスのブランキング ビットストリームはクリア ビットストリーム生成と同じではありません。クリア ビットストリームは、次のパーシャル ビットストリーム用のグローバル信号マスクの準備に必要で、GSR イベントが正しく起きるようにします。
基本になっているコンフィギュレーション ビットストリームには、どちらの RP のロジックもありません。open_checkpoint Checkpoint/static_route_design.dcp update_design -cell inst_count -buffer_ports update_design -cell inst_shift -buffer_ports place_design route_design write_checkpoint -force Checkpoint/config_grey_box.dcp write_bitstream -force -file Bitstreams/config_grey_box.bit close_project
update_design
コマンドにより、RP のすべての出力の定数ドライバー (グランド) が挿入されるので、これらの出力はフロートしません。グレー ボックス (grey box) という用語は、これらの LUT が挿入されているので完全には空ではないことを示していて、この領域を出入りするネットが未接続になっているブラック ボックスとは異なります。place_design
およびroute_design
コマンドは、完全にインプリメントされるようにします。有効なリコンフィギャラブル モジュールとして、これらのインスタンスには UltraScale デバイス専用のクリア ビットストリームもあります。