Read and Write VREF Calibration - 1.0 English

Versal Adaptive SoC Soft DDR4 SDRAM Memory Controller LogiCORE IP Product Guide (PG353)

Document ID
PG353
Release Date
2023-10-18
Version
1.0 English

This section describes the VREF calibration algorithm. The algorithm is the same for Read DQ VREF and Write DQ VREF calibration.

VREF calibration starts at a default VREF and the horizontal window at the default VREF is recorded as Vref_max_h. Next, VREF is incremented by a pre-defined step size. After each step size increments, the horizontal window size will be calculated and compared with the previous detected windows. If the current horizontal window is bigger than all the other windows, the current VREF is recorded as Vref_max_h, and its horizontal window is recorded as W_max_r.

VREF increments by step size continues until the horizontal window at a VREF goes down to N × W_max_r; 0 < N < 1. The VREF value where the horizontal window is less than N × W_max_r is recorded as Vref_min_h.

In some cases, two Vref_min_h points can be found before (Vref_lb) and after (Vref_ub) finding the Vref_max_h. The final VREF point will be set to (Vref_ubVref_lb) / 2.

In other cases, Vref_lb cannot be detected while increasing the VREF. In such cases, VREF will be reverted back to the default value and decremented by the step size until it finds the Vref_lb point. While decrementing, there can be cases where the horizontal window starts increasing and a new Vref_max_h point can be found with a bigger horizontal window than W_max_r. In this case, the final VREF is set to the center of the new Vref_min_h points.