SPRUIZ1B July 2023 – August 2024 TMS320F28P650DH , TMS320F28P650DK , TMS320F28P650SH , TMS320F28P650SK , TMS320F28P659DH-Q1 , TMS320F28P659DK-Q1 , TMS320F28P659SH-Q1
Since error detection and correction logic is part of safety critical logic, safety applications need to make sure that the logic is always working fine (during run time also). To enable this, different test modes are provided to generate an ECC/parity error in RAM locations. These test modes can be configured in RAM Test registers of different RAM blocks. (for example, for D0 RAM, TEST_D0 bit in DxTEST register). Different test modes are for different usage. In test mode, the user can modify the data bits (without modifying the ECC/Parity bits) or ECC/Parity bits directly. Using this feature, an ECC/Parity error can be injected into data. Since an uncorrectable error generates NMI, some users can avoid generating this during test mode and one of the test modes (11) is provided where NMI generation gets disabled. This mode is just like the functional mode except NMI generation on an uncorrectable error.
The following tables show the bit mapping for the ECC and Parity bits when the bits are read in RAMTEST mode using their respective addresses.
Data Bits Location in Read Data | Content (ECC Memory) |
---|---|
6:0 | ECC Code for lower 16 bits of data |
7 | Not Used |
14:8 | ECC Code for upper 16 bits of data |
15 | Not Used |
22:16 | ECC Code for address |
31:23 | Not Used |
Data Bits Location in Read Data | Content (Parity Memory) |
---|---|
0 | Parity for lower 16 bits of data |
7:1 | Not Used |
8 | Parity for upper 16 bits of data |
15:9 | Not Used |
16 | Parity for address |
31:17 | Not Used |
Following is the sequence that can be followed to test the ECC/parity logic: