AN 539: インテル® FPGAデバイスにおけるCRCを使用したエラー検出および回復のテスト方法

ID 683075
日付 8/09/2019
Public
ドキュメント目次

1.1. 機能の説明

エラー検出CRC機能を使用すると、コンフィグレーション・モードおよびユーザーモードにおいてFPGAコンフィグレーション・ビットのエラーを検出することが可能です。

CRCのフィールド幅は、 Arria® II、 Stratix® III、および Stratix® IVデバイスでは16ビットであり、 Arria® V Cyclone® V、および Stratix® Vデバイスでは32ビットです。

図 1. エラー検出のブロック図次の図は、エラー検出回路、シンドローム・レジスター、およびエラー・インジェクション・ブロックを表しています。
  1. Arria® II、 Stratix® III、および Stratix® IVデバイスにのみ適用されます
  2. Arria® V Cyclone® V、および Stratix® Vデバイスにのみ適用されます
レジスター 説明
シンドローム・レジスター このレジスターには、エラー検出検証サイクルにおける現在のフレームのCRCシグネチャーが含まれています。CRC_ERROR信号は、このレジスターの内容から生成されます。
エラー・メッセージ・レジスター (EMR) このレジスターには、エラータイプ、エラーの位置、および実際の症状に関する情報が含まれています。報告されるエラータイプおよびエラーの位置は、シングルビット・エラーおよびダブル隣接ビットエラーです。 Arria® V Cyclone® V、および Stratix® Vデバイスの場合、報告されるエラータイプおよびエラーの位置は、シングル、ダブル、トリプルおよびクアドルプルの隣接ビットエラーです。その他のエラータイプの位置のビットは、EMRでは特定されません。このレジスターの内容はSHIFT_EDERROR_REG JTAG命令でシフト可能です。またはコア・インターフェイスを介してコアへシフト可能です。エラー・メッセージ・レジスターの詳細については、関連情報を参照してください。
JTAGアップデート・レジスター このレジスターは、EMRレジスターの内容が確定した1サイクル後にEMRの内容で自動的に更新されます。JTAGアップデート・レジスターには、JTAGシフトレジスターにサンプリングされる前にアサートされる必要のあるクロックイネーブルが含まれます。この要件により、JTAGアップデート・レジスターへのEMRの内容の書き込みと、JTAGシフトレジスターによるその内容の読み出しが同時に発生しないことが保証されます。
ユーザー・アップデート・レジスター このレジスターは、EMRレジスターの内容が確定した1サイクル後にEMRの内容で自動的に更新されます。ユーザー・アップデート・レジスターには、ユーザー・シフト・レジスターにサンプリングされる前にアサートされる必要のあるクロックイネーブルが含まれます。この要件により、ユーザー・アップデート・レジスターへのEMRの内容の書き込みと、ユーザー・シフト・レジスターによるその内容の読み出しが同時に発生しないことが保証されます。
JTAGシフトレジスター このレジスターにはJTAGインターフェイスからアクセス可能で、SHIFT_EDERROR_REG JTAG命令によってJTAGアップデート・レジスターの内容をサンプリングし、読み出すことができます。
ユーザー・シフト・レジスター このレジスターにはコアロジックからアクセス可能で、ユーザーロジックによってユーザー・アップデート・レジスターの内容をサンプリングし、読み出すことができます。
JTAGフォールト・インジェクション・レジスター このレジスターは、EDERROR_INJECT JTAG命令により完全に制御されます。このレジスターは、ビットストリーム内に希望するエラー・インジェクションの情報を保持します。
フォールト・インジェクション・レジスター JTAGフォールト・インジェクション・レジスターがアップデートされる際、JTAGフォールト・インジェクション・レジスターの内容がこのフォールト・インジェクション・レジスターにロードされます。