リコンフィギュレーション後にリセットを適用 - 2023.2 日本語

Vivado Design Suite ユーザー ガイド: Dynamic Function eXchange (UG909)

Document ID
UG909
Release Date
2023-11-15
Version
2023.2 日本語

リコンフィギュレーション後にリセットを適用する機能を使用すると、パーシャル リコンフィギュレーション中にリコンフィギュレーションされる領域が一定した状態に保持され、新しい RM のすべてのロジックが開始値に初期化されます。パーシャル リコンフィギュレーション中、スタティック配線は影響を受けずにその領域を通過でき、デバイスのほかの部分にあるスタティック ロジック (およびほかのダイナミック領域) は通常どおり動作し続けます。この機能を使用する Dynamic Function eXchange は、FPGA の初期コンフィギュレーションと同様に動作し、同期エレメントが既知の初期ステートになります。

重要: GSR (グローバル セット/リセット) や GWE (グローバル ライト イネーブル) などのグローバル信号の解放は、チップ全体で同期するとは限りません。RM 内の機能が初期化された順次エレメントの開始が同期していることに依存している場合は、そのモジュール内のロジックを駆動するクロックまたはそれらのエレメントのクロック イネーブルをリコンフィギュレーション中ディスエーブルにし、リコンフィギュレーションの完了後に再びイネーブルにします。詳細は、アンサー 44174 を参照してください。

次に、RESET_AFTER_RECONFIG プロパティの構文を示します。

set_property RESET_AFTER_RECONFIG true [get_pblocks <reconfig_pblock_name>]

デザインで 7 シリーズの XADC コンポーネントの DRP インターフェイスが使用される場合、RESET_AFTER_RECONFIG がイネーブルになっていると、パーシャル リコンフィギュレーション中にこのインターフェイスはブロック (リセットに保持) されます。インターフェイスは応答せず (ビジー状態)、このリコンフィギュレーション中はアクセスがない状態になります。パーシャル リコンフィギュレーションが完了すると、インターフェイスは再びアクセス可能になります。

7 シリーズおよび Zynq 7000 SoC デバイスでリコンフィギュレーション後にリセットを適用する機能を使用するには、Pblock 制約がリコンフィギュレーション フレームに揃えられている必要があります。GSR は領域内のすべての同期エレメントに影響するので、リコンフィギャラブル フレームのみを使用する必要があります。これらのリコンフィギャラブル フレーム内でにはスタティック ロジックは配置できません (スタティック配線は可能)。Pblock の高さは、リコンフィギャラブル フレームの基本領域に合わせるため、クロック領域の境界に揃える必要があります。RESET_AFTER_RECONFIG を使用する場合、Pblock の幅に関する要件はありません。

UltraScale および UltraScale+ デバイスにはこのクロック領域を揃える要件はなく、GSR の適用を詳細に制御できます。そのため、UltraScale および UltraScale+ アーキテクチャでは RESET_AFTER_RECONFIG がすべての RP に自動的に適用されます。この機能はオフにはできません。

次の図では、左側の Pblock (pblock_shift) は Pblock の上辺と下辺がクロック領域 X1Y3 の高さに揃っているので、フレームに揃っています。右側の Pblock (pblock_count) はフレームに揃っていません。

  • 7 シリーズ デバイス: モジュールがパーシャル リコンフィギュレーションされた後、Pblock とその上のクロック領域境界の間に配置されているスタティック ロジックが GSR の影響を受けるので、フレームに揃えられていない Pblock (図の pblock_count など) には RESET_AFTER_RECONFIG を設定できません。
  • UltraScale および UltraScale+ デバイス: GSR 制御が改善されているので、両方の Pblock に自動的に RESET_AFTER_RECONFIG が使用されます。

SNAPPING_MODE 制約を使用すると、有効なリコンフィギャラブル Pblock が自動的に作成されます。詳細は、リコンフィギャラブル パーティション Pblock の自動調整 (7 シリーズ デバイス) または Pblock の PU の自動調整 (UltraScale および UltraScale+ デバイス) を参照してください。

図 1. RESET_AFTER_RECONFIG を使用可能な Pblock (左) と使用不可能な Pblock (右)

GSR の機能はパーシャル ビットストリーム内に組み込まれているので、リコンフィギュレーション中にこの機能を含めるための操作は必要ありません。ただし、このプロセスは SHUTDOWN シーケンス (リコンフィギュレーションする領域のみにマスク) を使用するので、リコンフィギュレーションを開始したときに外部 DONE ピンを LOW にし、正しく完了したら HIGH にする必要があります。ボードをセットアップする際に、この動作を考慮する必要があります。STARTUP ブロックはシャットダウン中ディスエーブルになるので、このブロックの DONEODONE ピンのステートが変化しないようにするために使用することはできません。また、STARTUP を使用している場合、RESET_AFTER_RECONFIG をパーシャル リコンフィギュレーションのコンフィギュレーション クロックを生成するなどのほかの目的で使用することはできません。

リコンフィギュレーションが発生したときに GSR マスクをダイナミック領域にのみ開くために、初期コンフィギュレーションの後、デザイン全体のマスクを閉じたところから開始します。各パーシャル ビットストリームは、ターゲット領域のマスクを開き、新しいコンフィギュレーション データを読み込んで、この領域の GSR イベントを発行してから、マスクを閉じます。UltraScale デバイスの場合にのみ、このプロセスは 2 つのビットストリーム間で分割されます。詳細は、クリア ビットストリームを参照してください。リコンフィギュレーションが発生しない場合マスクは閉じるので、GSR へのフル デバイス アクセスは許容されません。

7 シリーズ デバイスの場合にのみ、別のアプローチとして、このプロパティを使用せず、リコンフィギュレーションされたロジックで正しく機能させるために初期化が必要なものにローカル リセットを適用する方法があります。この方法では、Pblock の高さをクロック領域の境界に揃える必要はありません。GSR またはローカル リセットを使用しない場合、リコンフィギャラブル モジュール内の同期エレメントが初期の開始値にならない可能性があります。