Embedded Memory (RAM: 1-PORT, RAM: 2-PORT, ROM: 1-PORT, and ROM: 2-PORT) User Guide

ID 683240
Date 9/17/2021
Public
Document Table of Contents

3.14. Error Correction Code

The error correction code (ECC) feature detects and corrects output data errors. You have the option to use pipeline registers to improve performance. The ECC feature is supported only in the following conditions:

  • Memory blocks and not MLABs or logic cells
  • Simple dual-port mode
  • Same-width ports
  • Byte-enable feature is disabled
Note: When the ECC feature is enabled, the result of a RDW in a mixed-port configuration is always Don't care.
Note: The simulation model does not support the ECC feature for Intel® Arria® 10 devices.
Table 14.  ECC Features in Memory Blocks
Memory Block Supported Port Width Single Error Double Adjacent Error Triple Adjacent Error
M144K Up to 64 bits Detection and correction Detection only
M20K Up to 32 bits Detection and correction Detection and correction Detection only
M20K ( Intel® Arria® 10) More than 32 bits—achieved by stitching 32-bit M20K blocks together.
Table 15.  Error StatusThe IP uses the eccstatus signal to indicate the status of the error detection and correction.
M144K

eccstatus[2..0]

M20K

eccstatus[1..0]

Description
000 00 No error.
011 Single error was detected and corrected.
101 Double error was detected.
001 01 Illegal status.
010 01 Illegal status.
100 01 Illegal status.
11X 01 Illegal status.
10 An error was detected and corrected. However, the memory array is not updated.
11 An error was detected but not corrected in the output data.