ECP5 and ECP5-5G High-Speed I/O Interface
Technical Note
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02035-1.3
37
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 indicates 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.
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 moves 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 gets
two short pulses in wrong timing. Since READCLKSEL2/1/0 covers a whole 2T timing, it is recommended that both
READ1 and READ0 are moved to the next cycle together to shift the READ pulse to the next 2T window as the
example shown in
Repeat
step 2
and
step 3
until BURSTDET is asserted.
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 DQSBUFM must be asserted
before 4T of the change and remain asserted for another 4T after the change to avoid glitches and malfunction.
ECLK
CK
DQSI
READ1
READ0
BURST_DET
5.5T
DQSI
READ1
READ0
BURST_DET
7.5T
DQS round trip delay is ~+2T
Simulation timing without
DQS round trip
Actual board timing with
DQS round trip
3-bit code for adjusting the internal READ pulse 1/4T per step, can be changed only during PAUSE assertion
READCLKSEL
2/1 /0
Indicates that the internal READ pulse is properly aligned
t0
t1
t0
t0
t0
t1
t0
t1
Internal READ pulse with
allocated time slot
Internal READ pulse with
allocated time slot
SCLK
t1
t1
t0
t0
t1
t0
t1
t0
t0
t1
Figure 6.7. READ Signal Training Process
Note that the DYNDELAY[7:0] signal, margin control signals (WR/RDMOVE, WR/RDLOADN) and DDRDLL update signal
(UDDCNTLN) also have the same PAUSE requirement.