1.3. メモリーブロックの誤り訂正コードのサポート
ECCではデータエラーの検出と訂正をメモリーの出力で行います。
M20KブロックとeSRAMブロックのみでECC機能をサポートしています。
ECC機能を使用する場合、次の機能は使用できません。
- バイトイネーブル
- コヒーレンシー読み出し
M20Kブロック
M20Kブロックの場合、ECCでは、シングルエラー訂正 、ダブル隣接エラー訂正、およびトリプル隣接エラーを32ビットワードで実行しますが、2ビット以上の非隣接エラーの検出または訂正は保証されていません。
M20Kブロックに内蔵されたECCのサポートは、×32幅シンプル・デュアルポート・モードで有効です。
- ECC機能を使用すると、M20Kの動作は、ECCシンプル・デュアルポート以外のモードに比べて低速になります。ただし、オプションのECCパイプライン・レジスターを出力デコーダーの前で有効にすると、パイプラインECCモード以外のモードと比べて、より高いパフォーマンスが実現可能です。ただし、1サイクルのレイテンシーが追加されます。
- e (エラー) と ue (訂正不可エラー) の2つのECCステータスフラグ信号によって、M20K ECCステータスが表示されます。ステータスフラグは、メモリーブロックからの通常の出力の一部です。ECCを使用すると、この2つパリティービットへのアクセスはできません。これは、ECCステータスフラグによってパリティービットが置き換えられるからです。
eSRAMブロック
eSRAMブロックの場合、ECCではシングルエラー訂正とダブルエラー検出を64ビットワードで実行します。
eSRAMブロックに内蔵されたECCのサポートは、×64幅シンプル・デュアルポート・モードで有効です。
- 2つのECCステータスフラグ信号の c{7:0}_error_correct_0 (エラー訂正済み) および c{7:0}_error_detect_0 (エラー検出済み) では、eSRAM ECCステータスを示します。