SPRUIL1D May 2019 – December 2024 DRA829J , DRA829J-Q1 , DRA829V , DRA829V-Q1 , TDA4VM , TDA4VM-Q1
As already mentioned, there is logic (implemented via XOR) to test the comparison logic itself. The CCMR5 block can be configured to be in self test to check the integrity of the final XOR error generation logic, and can be switched back to functional compare mode after self test completion. To ensure that switching back to functional mode has happened, user can program CCMR5 polarity control register (R5FSS_CCMPOLCNTRL) to invert the polarity of eight CPU output signals, which will cause an error generation (CCM_STAT_ERR_INT). The eight signals that are chosen to be able to control the polarity are: AWVALIDMm, RVALIDSm, ATCEN0m, B0TCEN0m, BITCWEm, IRQACKm, AWVALIDPm, HWRITEP. See the Arm Cortex-R5 Technical Reference Manual for details on these signals.
The XOR inversion is placed between the two back-to-back delay flops of CPU1 outputs. Note that the XOR inversion logic is a diagnostic feature. If user does not observe CCM_STAT_ERR_INT error generation after programming the CCMPOLCNTRL[7:0] POL_INV inversion bits, this means that:
User can perform self test again to identify whether the issue is #1 or #2. If the second self test passes that means the issue is #1.