Visible to Intel only — Ixiasoft
Visible to Intel only — Ixiasoft
4.2.1.2.5. Error Correction Code (ECC)
AMD* Xilinx* and Intel® FPGA RAMs use Error Correction Code (ECC) to detect errors in the memory array, and present the corrected single-bit error data on the output.
Intel® FPGA | AMD* Xilinx* | |
---|---|---|
ECC support |
|
For UltraScale+* and 7-series devices in simple dual-port RAM. |
Status Signal | Indicates the status of the M20K block using a three-bit status flag eccstatus[1..0] | Indicates the status of the data read using two status outputs:
|
ECC Parity Flip
The ECC parity flip feature is available only on Intel Agilex® 7 and Intel® Stratix® 10 devices.
When the ECC Encoder Bypass (eccencbypass) port is high, the built-in ECC encoder values are XOR-ed with the 8 parity bits through the parity ports to generate a new set of encoder value. When the ECC Encoder Bypass port is low, the encoder generates the parity bits according to the data input during a write process.
The following table shows an example to construct an 8-bit data width for the parity port.
Parity Bit Sequence | ECC Feature | Is the ECC Decoder able to Recognize and Correct the Data Bit? |
---|---|---|
00000001 | Single-error correction | Yes |
00000011 | Double-adjacent-error correction | Yes |
00000111 | Triple-adjacent-error correction | Yes |
00000101 | Triple-adjacent-error correction | Yes |
00010011 | Non-adjacent double/triple correction/detection | No guarantee |
For more information about ECC, refer to the chapter about Embedded Memory Blocks in your target device handbook.