The ECC bits are normally initialized by the Vivado Design Suite or the standalone updatemem tool Digital Pre-Distortion Debug Interface User Guide (UG989) (registration required). However, they can also be initialized by software running on MicroBlaze.
Note: When using Ultra RAM on UltraScale+ devices, initialization by the Vivado tools or
updatemem is not available. In this case, the software must initialize the ECC bits.
The initialization is performed by reading and writing back the complete contents of the on-chip RAM data while ECC checking is suppressed, and then enabling it by writing 1 to the ECC On/Off Register. The ECC checking is disabled when the parameter C_ECC_ONOFF_REGISTER = 1 and the parameter C_ECC_ONOFF_RESET_VALUE = 0, which causes the initial value in the ECC On/Off Register to be 0.