AR# 66570

UltraScale Architecture Soft Error Mitigation Controller - エラー挿入を使用したテストのためのガイダンス

説明

このアンサーは、手動でエラーを挿入して Soft Error Mitigation (SEM) IP の機能を評価する方法について、『UltraScale Architecture Soft Error Mitigation Controller: LogiCORE IP 製品ガイド』 (PG187) に記載されている既存の情報を補足するためのものです。

ソリューション

一般的なガイダンス:

  • 物理フレーム アドレス (PFA) とは異なり、連続したアドレスであるため、常にリニア フレーム アドレス (LFA) を使用します。
  • 有効な LFA は、translate コマンドを実行すると、IP で PFA に変換できます。
  • 有効な LFA の範囲は、status コマンドを実行すると、IP コアで確認できます。これは、次のフォーマットでモニター インターフェイスを介して利用できます。

MF {8 桁の 16 進数} 最大フレーム (リニア カウント)

有効な LFA の範囲は、SEM IP 製品ガイドの次の場所にもリストされています。

『UltraScale Architecture Soft Error Mitigation Controller: LogiCORE IP 製品ガイド』 (PG187) の表 2-2

基本的なエラー挿入テスト:

目標:

  • IP 検出をテストし、エラーを修正
  • エラーが検出されて正しく修正されていることをシステムが記録しているかどうかをテスト、またはエラーや訂正不可能なエラーが検出されたときにシステムがデザインをリコンフィギュレーションできることを確認
  • エラーがデザインの機能に影響を及ぼす場合はデザインの動作をテストしない

推奨事項:

手順:

  • フレームの ECC ワードにエラーを挿入します。挿入のためのターゲット ビットとして、ECC パリティ ビットの 1 つを選択します
  • ECC ワードはコンフィギュレーション ビットのパリティの 1 つでしかないため、挿入されたエラーがデザインの機能を妨げることはありません。

コンフィギュレーション フレームの ECC ワードの位置:

UltraScale デバイスでは、32 ビットの 123 ワードのうち 62 番目のワードが使用されます

次に例を示します。

40 ビットのリニア フレーム アドレス挿入で、フレーム #F の 62 番目のワードの LSB に 1 ビット エラーを挿入します。

> N C00000F 7A0

常にポピュレートされた ECC ビットを挿入できるように、ワードの最下位バイトのみをターゲットにしてください。

また、すべてのアドレスが存在しているわけではないため、上記の挿入が検出されない可能性もあります。

ランダム エラー挿入テスト:

目標:

  • コンフィギュレーション フレーム内のランダムな位置にエラーを挿入することは可能ですが、次のような好ましくない結果を招く場合があることに留意しておく必要があります。
  1. ユーザー デザインが機能しなくなる可能性があります
  2. IP がフリーズ、停止、または誤動作することがあります
  3. コンフィギュレーション ビットのロケーションの多くはマスクされていたり、実際のコンフィギュレーション メモリになかったりするため、エラーが検出されない可能性があります
  4. エラーの検出や修正がカスケードされている場合は、マルチビットのエラー挿入に関連していることがよくあります

このテストは、実際のデザインおよび SEU へのシステム応答を再現するために使用できます。 

そのようなシナリオへの対応方法、および適切な対応ができるようにシステム応答を設計する方法を理解し、予測しておくようにしてください。

ランダム エラー挿入を実行する場合、特定のカスタマー デザイン結果を解析したり、エラーの場所をデザインでトレースバックしたりすることは、ザイリンクスではサポートしていません。 

ランダム エラー挿入は、ビーム試験設備にアクセスできないカスタマー用にのみ、「現状のまま」でサポートされています。

SEM IP モニターおよびエラー挿入インターフェイスを使用したエラー挿入の一般ガイダンス:

  • エラー挿入コマンドは、その機能が IP 生成時にオンになっている場合にのみ使用可能になります。
  • エラー挿入は、IP が IDLE 状態の場合にのみ実行する必要があります (モニター ポートの ASCII 確認または status_* 信号を使用)。挿入を実行する前に、IDLE ステートに遷移している必要があります。
  • IP がコマンドを受諾して完了したことを確認するため、status_injection へステートが遷移してから status_idle に戻ったかどうかをチェックする必要があります。ただし、これは、挿入が正しく行われたことを確認する作業ではありません。
  • 複数のビットを挿入する必要がある場合は、1 回に 1 ビット エラー挿入して、次の挿入を行う前に IP が IDLE に戻っていることを確認します。IP が IDLE になっていないと、エラー挿入命令は却下されたり失われたりする可能性があります。
  • レポートされている有効 LFA 範囲内でエラーを挿入します。そうでないと、IP によってエラーが無視されます。
  • エラー挿入の実行および監視には、モニター/UART インターフェイスを使用することを推奨します。その理由は、このインターフェイスによって最も詳細な情報が提供されるからです。(構文や ASCII 文字の数が間違っているなど、無効な状態でもコマンドはエコーされず、ステートの変化などが表示されます)
  • コマンド インターフェイスを使用している場合は、ステータス インターフェイスを必ず監視し、エラーを挿入する前に IP が IDLE 状態になっていること、および IP がエラー挿入ステートに遷移していることを確認してください。
  • モニター インターフェイスやステータス ポートから予期しない結果が見られる場合は、各挿入実行後に FPGA をリコンフィギュレーションするのが最善の方法です。
  • 続けてランダム エラー挿入を実行することはサポートされていません。1 つの FPGA デザインに多くのエラーが発生する確率はほぼないため、連続してランダム エラーを挿入するような状況は実際にはあり得ません。これをテストすることは避けてください
  • コンフィギュレーション データが実際に変更になったことを確認するには、エラー挿入の前後にクエリー コマンドを使用します。これは、挿入がうまくいったかどうかを確認するのに適した方法です。
    データを見ても変化が見られなかった場合、コンフィギュレーション フレームはマスクされているか、存在しないメモリ ロケーションに応答している可能性があります。その場合、挿入は失敗で、エラーは検出されません。これは標準動作です。

エラー挿入時の特別な注意事項:

SEM により修正不可能なエラー コンディションがレポートされたときは、デバイスをリコンフィギュレーションして回復させます。SEM がフリーズ、停止、または誤動作し始めた場合も、リコンフィギュレーションが必要です。

ユーザー デザインが誤動作し始めた場合は、リコンフィギュレーションすると常にリカバリできます。ユーザー デザインでロジック レベルのリセットを使用したリカバリがサポートされている場合は、その方法も可能です。

  • 修正不可能なエラーがレポートされた場合は、さらにエラー挿入を行う前にデバイスをリコンフィギュレーションしてください。
  • ユーザー デザインが停止した場合は、リコンフィギュレーションすると常にリカバリできますが、エラー修正がうまくいき、デザインでロジック リセットがサポートされている場合は、それを使用することも可能です。

IP がフリーズ、停止、または誤動作する場合は、デバイスをリコンフィギュレーションし、前のエラー挿入または修正の結果を破棄してください。

  • Zynq の場合、エラー挿入に応答しない PS ロケーションに対応する LFA アドレスがあります。その LFA 範囲の真ん中にあるアドレスを使用することを推奨します。
  • フレームがマスクされていたり、インプリメントされていなかったりすることが原因で、エラーが挿入されず、検出も修正も行われない可能性があります。
  • マスクされたフレームはダイナミック メモリ (DRP、SRL など) に関連しています。
  • 1 ビット エラーが挿入された後、IP でエラー検出または修正が行われるためには、OBSERVATION ステートへ遷移する必要があります。

アンサー レコード リファレンス

マスター アンサー レコード

Answer Number アンサータイトル 問題の発生したバージョン 修正バージョン
61241 エラー挿入を使用したテストのための Soft Error Mitigation IP ガイダンス N/A N/A
AR# 66570
日付 12/02/2016
ステータス アクティブ
種類 一般
デバイス
IP