Zynq-7000 AP SoC and 7 Series FPGAs MIS v4.1
149
UG586 November 30, 2016
Chapter 1:
DDR3 and DDR2 SDRAM Memory Interface Solution
Multi-Purpose Register Read Leveling
At this stage of calibration, the write
DQS
is not centered in the write
DQ
window nor is the
read
DQS
centered in the read
DQ
window. The Multi-Purpose Register (MPR) is used to
center the read
DQS
in the read
DQ
window. The MPR has a predefined
01010101
pattern
that is read back during this stage of calibration. Read
DQS
centering is required for the next
stage of calibration.
MPR read leveling is performed on a per byte basis and it is a two step process.
• The first step is to delay all the
DQ
bits in a byte using IDELAY taps by monitoring Bit[0]
in that byte. The
DQ
bits are moved to place the first valid rising edge data after the
first rising edge of
DQS
.
• The second step is to sweep
DQS
across the entire byte window using PHASER_IN fine
taps to detect two edges. The entire
DQ
byte lane (Bits[7:0]) is monitored while
sweeping the byte window to find the aggregate eye. Note that although the JEDEC
standard states it is only required to send the MPR pattern on Bit[0] of a byte, all
vendors tested sent the MPR pattern on the entire byte.
• Minimum data window (MIN_EYE_SIZE) must be met for two edges to be found.
X-Ref Target - Figure 1-65
Figure 1-65:
Write Leveling Flow Diagram
5'?C??
.O
.O
.O
9ES
)SCURRENT
RANKDONE
)NCREMENT$13
COUNTTONEXT$13
INACTIVERANK
)SSUE-2TO
$ISABLE7RITE
,EVELFOR
#URRENT2ANK
)NCREMENT
2ANK#OUNT
$EASSERT7RITE?CALIB?N
)NPUTTO0HASER#ONTROL"LOCK
)SSUE-2#OMMANDTO%NABLE
72,6,FOR#URRENT2ANK
!SSERTWRITE?CALIB?N)NPUTTO0(9
#ONTROL"LOCKAFTER7,$13%.
9ES
9ES
)SSUE7RITE#OMMANDTO0(9
#ONTROL"LOCKFOR$130ULSE'ENERATION
)NCREMENT&INE#OARSE0(!3%2?/54
$ELAYFOR$13BEING7RITE,EVELED
7AITA&EW#YCLESFOR0(!3%2?/54
$ELAYTO3ETTLE
!SSERT/$4AFTER-/$
7AITFOR-EMORY#LOCK#YCLES
!LL2ANKS
$ONE
TO
4RANSITION7HEN
3TABLE#OUNTER