Hard Processor System Technical Reference Manual: Agilex™ 5 SoCs

ID 814346
Date 4/01/2024
Public
Document Table of Contents

14.6.3.4.1.1. Single-Bit Error Test for Word-Writeable Memories

This sequence tests the single-bit error detection and correction in the ECC decoder of the word-writeable ECC RAMs.
  1. Write data to the ECC_WData3bus through ECC_WData0bus registers.
  2. Set the ECC_EN bit in the CTRL register to enable the ECC detection and correction logic.
  3. Set the DBEN bit in the ECC_dbytectrl register.
  4. Select the address bus to write the data to by programming the ECC_Addrbus register.
  5. In the ECC_accctrl register, program the following bits:
    • RDWR=1
    • ECCOVR=0
    • DATAOVR=1
  6. Set the ENBUSx bit in the ECC_startacc register to trigger an indirect write access.
  7. In the ECC_accctrl register, program the following bits:
    • RDWR=0
    • ECCOVR=1
    • DATAOVR=0
  8. Set the ENBUSx bit in the ECC_startacc register to trigger an indirect write access.
  9. Write a data value that has one bit altered in the ECC_WData3bus through ECC_WData0bus registers to the same address.
  10. Read the resultant data from the ECC_RDataeccx bus registers at the same address.
  11. Write the value from the ECC_RDataeccx bus registers into the ECC_WDataeccx bus registers.
  12. In the ECC_accctrl register, program the following bits:
    • RDWR=1
    • ECCOVR=1
    • DATAOVR=1
  13. Set the ENBUSx bit in the ECC_startacc register to trigger an indirect write access.
  14. In the ECC_accctrl register, program the following bits:
    • RDWR=0
    • ECCOVR=1
    • DATAOVR=1
  15. Set the ENBUSx bit in the ECC_startacc register to trigger an indirect write access.
    If you have configured an interrupt to trigger for a single-bit error, then expect it to trigger after these steps have completed. If you read back the data at the same address using the ECC_RDatax bus register, expect to see a corrected data result from the memories.