Mission Mode Tracking - Mission Mode Tracking - 1.0 English - PG456

Integrated DDR5/LPDDR5/5X Memory Controller LogiCORE IP Product Guide (PG456)

Document_ID
PG456
Release_Date
2026-08-07
Version
1.0 English

At the end of calibration, MicroBlaze triggers the mission mode memory controller tracking engines before asserting cal done to system software. The mission mode tracking engines include refreshes, periodic reads, background scrubbing and DQS oscillator tracking engines. These engines can only be enabled after calibration is completed. This information is available to the MicroBlaze through the CAL header file. For non-crypto configurations, MicroBlaze triggers the mem-fill at the end of calibration sequence for ECC configurations with background scrub enabled. Background scrub configuration settings are saved first before triggering the mem-fill. Once mem-fill is completed those settings are restored and then MicroBlaze triggers the background scrubbing.

For crypto-enabled configurations, MicroBlaze triggers crypto mem-fill at the end of the calibration sequence. When the crypto mem-fill is completed successfully it triggers the background scrubbing. While crypto mem-fill continues, MicroBlaze checks for any zeroize errors or KAT errors and, if found, it exits by reporting the CAL_ERROR. MicroBlaze disables these tracking engines before self-refresh entry and enables after self-refresh exit as needed in the sequence. During mission mode the memory controller scrub state machine performs read-modify- writes to all the locations of the DRAM starting from address 0. This scrub is expected to continue and cover all the memory locations, in spite of the self-refresh scenarios. When the scrub engine is restarted while exiting from self-refresh, it starts from the location configured in a scrub register. Hence it is required to configure these registers with the values where the scrub state machine was stopped before the self-refresh entry. To serve this purpose MicroBlaze records the values from the registers while entering self-refresh and it configures them with the correct values while exiting the self-refresh. This is possible as long as MicroBlaze maintains the context, (that is, non-power down scenarios).

For the self-refresh power down scenario, because MicroBlaze loses its context, PMC is expected to record the last scrub values from the registers (similar to recording calibration data for save/restore) during self-refresh entry and is expected to program the values as a part of controller configuration during the self-refresh power down exit scenario.