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
21
5.6.
GDDRX71_RX.ECLK
This interface is used to implement 7:1 LVDS Receiver interface using the 1 to 7 gearing with ECLK. Slow speed clock
coming in is multiplied 3.5X using a PLL. This clock is used to capture the data at the receiver IDDRX71 module.
This DDR interface uses the following modules:
IDDRX71B element is used to capture the data.
EHXPLLK multiplies the input clock by 3.5 and phase shift the incoming clock based on the dynamic phase shift
input.
This clock is routed to the Edge Clock (ECLK) clock tree through the ECLKSYNCB module.
CLKDIVF module is used to divide the ECLK by 3.5 and is routed to the primary clock tree used as the SCLK input
A second IDDRX71B element is used with data connected to clock input to generate 7-bit clock phase that can be
used for word alignment.
The startup synchronization soft IP (GDDRX_SYNC) is required for this interface to tolerate the skew between the
ECLKSYNCB Stop input and the Reset to the DDR and CLKDIV modules.
An optional Bit and Word alignment soft IP(BW_ALIGN) can be enabled in Clarity Designer. The Bit alignment
module rotates PLL’s 16 phases to center Edge Clock to middle of data eye and the word alignment module uses
ALIGNWD function of CLKDIVD and IDDRX71B to achieve 7-bit word alignment.
The ECLKBRIDGE can be optionally enabled if the data bus is crossing over between the left and right sides of the
device. If ECLKBRIDGE is enabled, then the ECLKBRIDGECS element should be used in the interface before the
ECLKSYNCB element. This element can be enabled through Clarity Designer.
Datain
Clkin
EHXPLLL
CLKOP
CLKI
PHASESEL
PHASEDIR
RST
ECLKI
STOP
ECLKO
Edge
Primary
sclk
CLKDIVF
CLKI
RST
ALIGNWD
CDIVX
(divby 3.5)
CLKFB
CLKOS
LOCK
PHASESTEP
SCLK
D
Q 0
Q 1
RST
ALIGNWD
ECLK
Q 2
Q 3
Q 4
Q 5
Q 6
IDDR 71 B
SCLK
D
Q 0
Q 1
RST
ALIGNWD
ECLK
Q 2
Q 3
Q4
Q 5
Q 6
IDDR 71 B
Q [0]
Q [1]
Q [2]
Q [3]
Q [4]
Q [5]
Q [6]
Edge
ECLKSYNCB
clock _ phase [6 :0 ]
pll _ reset
Sync_reset
GDDR _SYNC
Sync_clk
RST
START
SYNC _CLK
DDR_RESET
STOP
READY
Ready
RX _ SCLK
RXCLK _WORD < 6:0>
UPDATE
PLL _LOCK
RST
PHASESTEP
PHASEDIR
ALIGNWORD
WINDOW _SIZE
BIT _ LOCK
WORD _LOCK
READY
Align_ready
Update
Bw _ align _ Rst
Window_size
Bit_lock
Word_lock
ECLKI
STOP
ECLKO
ECLKSYNCB
“0”
PHASELOADREG
“1”
Figure 5.10. GDDRX71_RX.ECLK Interface
Interface Requirements
The clock input must use a dedicated PLL input pin so it is routed directly to the PLL.
CLKOP output of the PLL must be used as feedback using another Edge Clock tree to compensate for ECLK tree
delay used by CLKOS. Hence this interface uses two ECLK trees.
ECLK must use the Edge Clock tree and the SCLK out of the CLKDIVF must use the Primary Clock tree.
USE PRIMARY preference may be assigned to the SCLK out of the CLKDIVF module.