For multi-rank systems, a check of the data for each rank is made to ensure the previous stages of calibration did not inadvertently leave the write or read path in a bad spot. A single write burst followed by a single read command to the same location is sent to each DRAM rank. The data is checked against the expected data across all bytes before continuing.
After all stages are completed across all ranks without any error, calDone gets asserted
to indicate user traffic can begin. In XSDB, DBG_END contains 0x1
if
calibration completes and 0x2
if there is a failure.