パーシャル BIT ファイルの整合性 - 2022.1 日本語

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

Document ID
UG909
Release Date
2022-06-07
Version
2022.1 日本語

パーシャル BIT ファイルのエラー検出と回復には、完全な BIT ファイルを読み込むのと比較して、独自の要件があります。フル BIT ファイルが FPGA に読み込まれるときにエラーが検出されると、FPGA はユーザー モードになりません。エラーは破損したデザインがコンフィギュレーション メモリに読み込まれた後に検出され、対応する信号がアサートされてエラー状態が示されます。FPGA はユーザー モードにならないので、破損したデザインがアクティブになることはありません。コンフィギュレーション エラーから回復するためのシステムの動作は、異なる BIT ファイルをダウンロードするなど、ユーザーが決める必要があります。

パーシャル BIT ファイルをダウンロードをする場合、エラーの検出と回復にこの方法は使用できません。パーシャル BIT ファイルを読み込むときには、FPGA は既にユーザー モードで動作しています。コンフィギュレーション回路では BIT ファイルを読み込んだ後にのみエラー検出がサポートされるので、破損したパーシャル BIT ファイルがアクティブになってしまい、その状態で動作を続けると FPGA が破損する可能性があります。

パーシャル リコンフィギュレーション中に CRC エラーが検出されると、FPGA の INIT_B ピンがアサートされます (INIT_B が Low になると CRC エラー)。UltraScale デバイスでは、これが ICAP の PRERROR 出力ピンに反映されます。初期コンフィギュレーション中にシステムで INIT_B を使用して CRC エラーを監視する場合、パーシャル リコンフィギュレーション中の CRC エラーでも同じ応答が発生する可能性があります。FPGA の内部から CRC エラーを検出するには、CRC ステータスを ICAP ブロックを介して監視できます。ステータス レジスタ (STAT) で CRC_ERROR フラグ (ビット 0) がアサートされ、パーシャル BIT ファイルに CRC エラーがあることが示されます。

パーシャル BIT ファイルのエラーでは、データ エラーとアドレス エラーを考慮する必要があります。パーシャル BIT ファイルには、基本的にアドレス情報とデータ情報が含まれます。スタティック配線がリコンフィギャラブル領域を通過できるので、まれではありますが、どちらのエラーもスタティック デザインを破損する可能性があります。完全に安全に回復する唯一の方法は完全な BIT ファイルをダウンロードすることで、そうするとスタティック ロジックのステートが確実なものになりますが、FPGA 全体をリセットする必要があります。

多くのシステムでは、FPGA 全体をリセットすることは重要ではないか、パーシャル BIT ファイルがローカルに格納されているので、複雑な回復メカニズムは必要ありません。パーシャル BIT ファイルがローカルに格納されている場合、BIT ファイルが破損する可能性はほとんどありません。無線リンクを介してパーシャル BIT ファイルを送信するなど BIT ファイルが破損する可能性のあるシステムでは、問題を回避するため専用のシリコン機能を使用する必要があります。

7 シリーズから Versal までのザイリンクス デバイスのコンフィギュレーション エンジンには、フレームごとの CRC チェックを実行する機能があり、CRC チェックでエラーが検出された場合はフレームはコンフィギュレーション メモリに読み込まれません。エラーが検出されると INIT_B ピンが Low になり、パーシャル BIT ファイルを再試行するか、ゴールデン パーシャル BIT ファイルを使用するかなど、次の処理を決定できます。部分的に読み込まれたリコンフィギュレーション領域には有効なプログラムはありませんが、システムがエラーから回復する間、CRC チェックによりデバイスの残りの部分 (スタティック領域およびほかの RM) は動作を続けます。

これらのデバイスでこの機能を有効にするには、PerFrameCRC を実行する前に write_bitstream プロパティを設定します。このプロパティのデフォルト値は No で、Yes に設定すると追加の CRC チェックが挿入されます。これにより、圧縮されていない BIT ファイルのサイズが 4 ~ 5% 増加します。この機能は、ビットストリーム圧縮とは互換性がありません。このプロパティを設定するのに特別に考慮すべき点はほかにありませんが、INIT_B ピンによりエラーが示された場合の処理を選択するため、パーシャル リコンフィギュレーション コントローラー ソリューションを設計する必要があります。

PerFrameCRC プロパティを設定する構文は、次のとおりです。

set_property bitstream.general.perFrameCRC yes [current_design]

このプロパティは、パーシャル ビットストリームだけでなく、現在のチェックポイントから作成されたビットストリームすべてにフレームごとの CRC チェックを挿入します。デバイスの初期コンフィギュレーションのフル デバイス ビットストリームにも、さらに多くの CRC チェックが含まれます。

フレームごとの CRC チェックの使用/不使用にかかわらず、パーシャル BIT ファイルが読み込まれると、デバイスのコンフィギュレーション全体が変わります。SEU を軽減するための POST_CRC 機能がイネーブルになっている場合、パーシャル ビットストリームが読み込まれ、コンフィギュレーション インターフェイスが非同期化された後、SEU 軽減エンジンによりエンベデッド SEU CRC 値が自動的に再算出されます。CRC 再キャリブレーションが完了すると、FRAME_ECCE2 の FRAME_VALID 出力がトグルし、SEU 検出が再開したことが示されます。