SPRUJ55D September 2023 – July 2025 AM263P2 , AM263P2-Q1 , AM263P4 , AM263P4-Q1
The ECCM calculation is generated or checked on concatenated structure {1'b0,block_address[26:0], MAC_Auth_Word[127:0], Word1[127:0],Word0[127:0]} broken into four 103 bit chunks stored in the ECCM word. That is the ECCM word has four 8 bits values that each check a 103 bit segment of the concatenated structure.
The 103 bit portion uses a standard seven bit ECCM calculation plus a parity bit.
The word0 is the first 128 bit word of a block and the word1 is the second 128 bit word of a block.
The block_address[26:0] is the upper 27 bits of the requested byte address known as the block address. This is the untranslated address input of the ECCM module.
If the Authentication is not within this region, the MAC_Auth_Word is assumed zero.
MAC_Auth_Word is always 128-bits regardless of MAC size. If MAC size of 4, 8, or 12 bytes is used, the remaining most significant bits in MAC_Auth_Word are padded with zeroes.
If the ecc_disable_adr is set, the block_address is assumed zero so as to not affect the ECCM calculation.
If the ECCM detectes a double error, the rstatus of 3'd4 is reported and the returned data is cleared. If the bus EMUDBG signal is set, the rstatus is zeroed, but returned data (rdata) is still cleared.
Both Single Correct and Double error detect are reported as ecc_error_1bit and ecc_error_2bit respectively in IRQ_STATUS register and fsas_ecc_intr_err_pend (level) / fsas_ecc_intr_err_req (pulse) interrupts are generated.