Applications - Applications - 2.0 English - PG092

ECC LogiCORE IP Product Guide (PG092)

Document_ID
PG092
Release_Date
2026-07-22
Version
2.0 English

The following figure shows an example of the ECC Encoder and ECC Decoder use case. The ECC Encoder and ECC Decoder functions are used along with Internal Memories for single bit error correction function. The error correction function here increases reliability against radiation induced soft errors or Single Event upsets [SEU].

Figure 1. ECC Encoder and ECC Decoder Application Example
ECC Encoder Memory Write Port Memory Read Port ECC Decoder Write Address Write Data Write Data Check bits Read Data Check bits Read Data Error Status Read Address X13072

In the following figure, ECC Encoder/Decoder function is used with the off-chip DDR memory. The write operations to the memory are performed using data byte enables or data strobes. Because ECC functions inherently do not support byte enables, to perform data writes with byte enables, a read-modify-write operation is used.

Figure 2. ECC Encoder/Decoder DDR Memory Application Example
DIMM ECC Encoder / Decoder Memory Controller ecc _ encode Address Control Data + CheckBits Strobe Read - Modify - Write Engine Data + Checkbits / Data + Error Status DRAM Read Data + Check Bits Read Data + Error Status Write Data Write Data Data _ Valid RMW _ Valid Write Strobes Read Valid / Write Valid / Address X13073

For DDR memory writes, first a read is performed to the memory. The codeword received from DDR memory is checked for single bit errors and then the corrected data is provided to read-modify-write operation. The output of read-modify-write operation is again provided to ECC core to generate the write codeword to the DDR Memory. For DDR memory reads, the codeword read from DDR Memory is checked for single bit errors by the ECC function. The corrected data along with error status is then provided at the user interface. A single instance of ECC encoder/decoder function is used here for both reads from the DDR memory to perform Read-Modify-Write to the DDR memory.

Note: The ECC functions supported are suited for applications requiring random bit error conditions and are not suited for applications requiring burst error detection or correction. For more than 2-bits in error, the supported ECC function does not guarantee a robust error detection operation and can even result in an incorrect single bit error correction operation.