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.
42
FPGA-TN-02035-1.3
6.3.4.
Write Implementation (LPDDR2 and LPDDR3 Address, Command, and Clock)
LPDDR2 and LPDDR3 output side interface side to generate the clock, address, and command uses the following
modules:
Two DQSBUFM are required generate the LPDDR2 and LPDDR2 address/command and clock signals. One of the
DQSBUFM is used for CA output and the other for CKE, CSN, ODT, and CLKP/CLKN (note that ODT is only for
LPDDR3).
ODDRX2DQA module to generate the CA[9:0] outputs
ODDRX2DQSB with D0 and D1 tied together and D2 and D3 tied together to generate CSN, CKE signals
ODDRX2DQSB with inputs tied to 0 and 1 is used to generate the CLKP/CLKN outputs.
On LPDDR3, even the ODT has D0 and D1 tied together and D2 and D3 tied together and uses same DQSBUFM.
The DQSBUFM used for CA requires a separate input. Ideally, you must take Pause_sync output of the MEM_SYNC
module and make an OR gate with user CA pause to drive the PAUSE input port of DQSBUFM. The Pause_CA pause
is connected to the user CA training logic PAUSE required. If CA training is not used, then user CA pause should be
tied to GND.
Both ECLK and SCLK is used in these elements. This is same ECLK and SLCK generated in the Input Read side module
shown above.
DDR_reset
DQSBUFM
DQSI
DQSR 90
DDRDEL
READ[1:0]
WRPNTR [2:0]
RDPNTR [2:0]
SCLK
RST
READCLKSEL0
READCLKSEL1
READCLKSEL2
DQSW 270
RDLOADN
RDMOVE
RDDIRECTION
WRLOADN
WRMOVE
WRDIRECTION
DATAVALID
BURSTDET
RDCFLAG
WRCFLAG
‘0’
ECLK
DYNDELAY[7:0]
Sclk (from CLKDIVF as shown in the Input interface)
D0
D1
RST
DQSW 270
D2
D3
SCLK
ca <n>_ in(0)
ECLK
DQSW
Q
PAUSE
Pause _CA
From Input side
DDRDLLA
CA [9:0]
‘0’
‘0’
ca <n>_ in(1)
ca <n>_ in(2)
ca <n>_ in(3)
‘0’
Pause output of
MEM _SYNC
Eclk (from ECLKSYNCB as shown in the Input interface)
‘0’
‘0’
‘0’
‘0’
‘0’
‘0’
‘0’
‘0’
ODDRX2DQA
Figure 6.11. LPDDR2 Output for CA Generation