SPRUII0F May 2019 – June 2024 TMS320F28384D , TMS320F28384D-Q1 , TMS320F28384S , TMS320F28384S-Q1 , TMS320F28386D , TMS320F28386D-Q1 , TMS320F28386S , TMS320F28386S-Q1 , TMS320F28388D , TMS320F28388S
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 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 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, you can avoid generating this during test mode as one of the test modes (11) is provided where NMI generation gets disabled. This mode is just like functional mode except NMI generation on 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 must be followed to test the ecc/parity logic.