ビルトイン エラー検出/訂正

Versal ACAP メモリ リソース アーキテクチャ マニュアル (AM007)

Document ID
AM007
Release Date
2020-11-24
Revision
1.1 日本語

各 UltraRAM 4K x 72 RAM は、各ポートにオプションのビルトイン ハミング コード エラー訂正を備えています。ECC がオンの場合、72 ビット データ バスの上位 (MSB) 8 ビットはパリティに使用されます。ECC 動作は内部的に実行されるため、設計者が意識する必要がありません。正常に機能するには、ECC モードですべてのバイト ライト イネーブル ビット BWE[8:0] が 1 (HIGH) に設定されている必要があります。ECC 動作はポート A とポート B で同じです。

8 つの保護ビット (ECCPARITY) は書き込み動作ごとに生成され、64 ビットのデータと共にメモリに格納されます。この ECCPARITY ビットは、読み出し中にシングル ビット エラーの訂正や、ダブルビット エラーの検出 (訂正は行わない) に使用されます。ECC データ ビットおよびステータス/制御ビットは、CLK に同期します。

1 回の読み出し動作で 72 ビットのデータ (64 ビットのデータと 8 ビットのパリティ) がメモリから読み出され、ECC デコーダーに与えられます。ECC デコーダーは、読み出しの結果 (エラーなし、シングル ビット エラーの訂正、ダブル ビット エラーの検出) を示す 2 種類のステータス出力 (SBITERR_A/B および DBITERR_A/B) を生成します。標準 ECC モードでは、読み出し動作によってメモリ アレイ内のエラーは訂正されません。訂正済みデータを DOUT に出力するだけです。FMAX を向上させるため、データ出力 (DO)、SBITERR および DBITERR にオプションのレジスタが使用できます。

RST_A/B がアサートされると、すべての出力レジスタは 0 にリセットされます。したがって、SBITERR および DBITERR ステータス信号も 0 (Low) にリセットされ、データ出力にシングル ビット エラーやダブル ビット エラーが含まれていないことを示します。

さらに、UltraRAM はどちらのポートにもエラーを挿入できます。ECC モードでは、任意のワードまたはすべてのワードにシングル ビット エラーまたはダブル ビット エラーを挿入できます。書き込みサイクル中に INJECT_SBITERR がアサートされると、DIN[30] に対応するメモリにシングル ビット エラーが内部で挿入されます。書き込みサイクル中に INJECT_DBITERR がアサートされると、DIN[30] および DIN[62] に対応するメモリにダブル ビット エラーが内部で挿入されます。書き込みサイクル中に INJECT_SBITERR と INJECT_DBITERR の両方がアサートされると、ダブル ビット エラーが INJECT_DBITERR と同じ位置に挿入されます。

この機能はすべての ECC モードで利用できます。