SPRUIX1B October 2022 – April 2024 TMS320F2800132 , TMS320F2800133 , TMS320F2800135 , TMS320F2800137
To make sure the correctness of the ECC logic, a redundant ECC logic block for each of the ECC64_L and ECC64_H checkers is used. Each 64-bit ECC checker block and the corresponding redundant checker block receive the same inputs. The output of each 64-bit checker block is bitwise XORed with the output of the corresponding redudnant checker block; a non-zero output from this comparison generates an uncorrectable error (UNC_ERR) signal. This redundancy makes sure that any fault in ECC logic circuits can be detected and trigger an NMI.
A mechanism has been added to enable self-testing of the ECC logic for additional diagnostic coverage. To use this mechanism, configure the ECC_TEST_EN field in the FECC_CTRL register. A value of 01 in ECC_TEST_EN injects a single-bit error into the redundant ECC logic upon a Flash read access, and a value of 10 injects a double-bit error upon a Flash read access. This causes an output comparison failure. In this mode, the diagnostic outputs of each of the high and low comparators (DIAG_H and DIAG_L) are captured in the FLUCERRSTATUS Memconfig register.