Zynq-7000 AP SoC and 7 Series FPGAs MIS v4.1
452
UG586 November 30, 2016
Chapter 3:
RLDRAM II and RLDRAM 3 Memory Interface Solutions
The next stage is to generate the valid signal associated with the data on the client
interface. During this stage of calibration, a burst of data equal to a single FPGA logic clock
cycle pattern is written to memory and read back. This phase allows the read logic to count
how many cycles elapse before the expected data returns. The basic flow through this phase
is:
1. Count cycles until the read data arrives for each memory device.
2. Determine what value to use as the fixed latency. This value can either be your set
indicated value from the PHY_LATENCY parameter or the maximum latency across all
memory devices.
3. Calibrate the generation of the read valid signal. Using the value determined in
,
delay the read valid signal to align with the read data for you.
4. Assert
init_calib_complete
.
Write Calibration
When write calibration is enabled, the results of read calibration data alignment are used to
determine if a given setting is valid for correct write operation. RLDRAM 3 contains an MRS
read training register that can be used for reading out a set pattern from the memory
without having to write a pattern to the memory first. After memory initialization, the read
capture is first calibrated using this set pattern before moving on to calibrate the writes.
Because RLDRAM II lacks this read training register, the reads and writes cannot be
independently verified. At each step of write calibration, the alignment of the read clock
with DQ is performed to ensure the correct capture of data. If the data alignment portion of
read calibration is performed for a given byte lane and the expected result is not found, the
write is assumed to have caused the failure. For RLDRAM II, at each step of write calibration,
the read calibration and associated logic are reset and restarted.
See
for write calibration flow.
PHASER_OUT provides all of the clocking resources for the output path and is adjusted on
a byte lane basis by the calibration algorithm. Each byte lane is independently checked
against the write clock being sent to the DRAM to ensure proper write timing. Depending
on the pinout, either OCLK_DELAYED is used to adjust the DK clock in relation to the data
DQ, or OCLK for a given byte lane is adjusted in relation to the DK clock in another byte
lane. Due to the length of time required to independently calibrate each byte lane, write
calibration is usually skipped for simulation.
The steps taken for write calibration is dependent on the pinout.
shows the
RLDRAM II pinout block diagram with two data byte lanes and the overview for the steps
taken for write calibration.