
30
ECP5 and ECP5-5G Hi
g
h-Speed I/O Interface
operations be performed repetitively at a READ pulse position during the initialization for getting jitter immunity. 16
read operations can be performed in a periodic calibration if used during the normal operation. The memory con-
troller can determine the proper position alignment when there is no failure on BURSTDET assertions during these
multiple trials.
There are a few steps to reposition the internal READ pulse:
Step 1:
The memory controller sets READ1/0 to an initial position before starting the read pulse training. READ1/0 must be
asserted for the number of SCLK cycles that is equal to one-fourth of the current read burst length as listed in
Table 4. Each READ bit (READ1 or READ0) in the system clock domain is translated to an 1T time slot of the mem-
ory clock domain as shown in Figure 30.
Step 2:
Once READ1/0 positions the READ pulse, READCLKSEL2/1/0 can be used to shift the READ pulse by 1/4T per
step. With the total eight possible combinations from “000” to “111”, READCLKSEL2/1/0 covers the READ pulse
shift up to a whole 2T timing window. If BURSTDET is asserted with a certain READCLKSEL2/1/0 value, it indi-
cates that the READ pulse has been located to the optimal position. If no BURSTDET is asserted during this step,
the READ pulse needs to be moved to the next timing window.
Step 3:
To shift the READ pulse timing window, READ1/0 can be moved to the next cycle. If a READ bit is asserted in the
next cycle while the other READ bit remains in the current cycle, only the corresponding time slot on the READ
pulse will move to the next allotted slot. Therefore, only READ0 must be moved to the next cycle if the READ pulse
needs to be shifted only by 1T. However, if only READ1 is moved to the next SCLK cycle, then the READ pulse will
have two short pulses in wrong timing. Since READCLKSEL2/1/0 covers a whole 2T timing, it is recommended that
both READ1 and READ0 get moved to the next cycle together to shift the READ pulse to the next 2T window as the
example shown in Figure 30.
Repeat
Step 2
and
Step 3
until BURSTDET is asserted.
Figure 30 shows an example of a burst length 8 (BL8) read operation. The bottom side of the diagram indicates the
case that the incoming DQS (DQSI) gets slightly more than 2T delay after a round trip. Due to this round trip delay,
both READ1 and READ0 need to be shifted to the next SCLK cycle so that the internal READ pulse gets a 2T shift.
Then, the READCLKSEL2/1/0 signals can be used to fine tune the READ signal position throughout the training
process. When any of READCLKSEL2/1/0 is changed at any time after a system reset, the PAUSE input to DQS-
BUFM must be asserted before 4T of the change and remain asserted for another 4T after the change to avoid
glitches and malfunction.