SPRUIM2H May 2020 – October 2023 AM2431 , AM2432 , AM2434 , AM6411 , AM6412 , AM6421 , AM6422 , AM6441 , AM6442
The ECC logic for each FIFO RAM (receive and transmit) is divided into eight separate ECC encoders/decoders that encode/decode 26-bits of data each. Each of the 8 encoders (0 to 7) generates 6-bits of ECC code (48 code bits total), and each of the eight decoders (0 to 7) checks 6-bits of ECC code across the 26-bits of data (208 data bits total). The 48-bits of ECC code are passed through the RAM in the upper 48 unused bits in the header word. The header data bits and ECC code bits are shown in Table 12-663. The [15-0] ECC_BIT1 value returned on error is a 16-bit value that is the concatenation of 5 bits of zero, 3 bits of the encoder/decoder number (0 to 7), 3 bits of zero, and 5 bits of index into the indicated 26-bit encoder/decoder.
For example, an ECC_BIT1 value of 0x0308 is bit 8 of encoder/decoder 3, which is header bit 86 (that is, (26×3) + 8).
Header Data Bits | Encoder/Decoder |
---|---|
25:0 | Encoder/Decoder 0 Data |
51:26 | Encoder/Decoder 1 Data |
77:52 | Encoder/Decoder 2 Data |
103:52 | Encoder/Decoder 3 Data |
129:104 | Encoder/Decoder 4 Data |
155:130 | Encoder/Decoder 5 Data |
181:156 | Encoder/Decoder 6 Data |
207:182 | Encoder/Decoder 7 Data |
213:208 | Encoder/Decoder 0 ECC |
219:214 | Encoder/Decoder 1 ECC |
225:220 | Encoder/Decoder 2 ECC |
231:226 | Encoder/Decoder 3 ECC |
237:232 | Encoder/Decoder 4 ECC |
243:238 | Encoder/Decoder 5 ECC |
249:244 | Encoder/Decoder 6 ECC |
255:250 | Encoder/Decoder 7 ECC |