The BGCRC error severity can be
decoded by reading the BGCRC_INTFLG or BGCRC_NMIFLG. The errors can be:
- WD_OVERFLOW/WD_UNDERFLOW: The test did not complete in
the programmed window. System timing needs to be checked to understand
reason for non-completion of the test. BGCRC_CURR_ADDR and
BGCRC_WD_CNT indicate how far the test progressed.
- UNCORRECTABLE_ERR:
BGCRC_CURR_ADDR contains the address of the memory location causing
the error. This error is due to single bit failure for Parity SRAM or
double bit failure for ECC SRAM. The memory location can be reloaded
(if possible, for cases where code is copied from Flash) to see if the
problem resolves. If the problem persists, the problem can be a
permanent defect.
- CORRECTABLE_ERR:
This error is due to single bit failure for ECC SRAM. If the problem
location is accessed again (execution from the location for execute
only memory or reading the location in other cases), the expectation
is that the single bit error is corrected. If the single bit error is
not corrected, this can be an indication of a permanent defect.
- CRC_FAIL: This
indicates a failure in the computation of the CRC-32 value. This error
does not occur in scrub mode. For SRAMs with protection, in the
absence of code bugs, this error is less likely since the error is
most often manifest as a correctable/uncorrectable error. Code bugs
can cause failure if the code inadvertently writes to a wrong address
thus causing a CRC-32 error.