
35
ECP5 and ECP5-5G Hi
g
h-Speed I/O Interface
Write Implementation (DDR2, DDR3/DDR3L Address, Command and Clock)
DDR2, DDR3, DDR3L write side interface side to generate the Clock, Address and Command uses the following
modules:
• ODDRX2F with inputs tied to constants to generate the DDRCLK output.
• The ADDR, BA, CASN, RASN, WEN, CKE and ODT command and address signals are generated using the
ODDRX1F. CSN output is generated using OSHX2A.
• Both ECLK and SCLK is used in these elements. This is same ECLK and SLCK generated in the Read side.
Figure 33. DDR2, DDR3/DDR3L Address, Command and Clock Generation
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 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 will have D0 and D1 tied together and D2 and D3 tied together and will use same
DQSBUFM
• The DQSBUFM used for CA will require a separate input. Ideally user 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’s CA training logic PAUSE required. If CA training is not used then
user CA pause should be tied to GND.
ddrclk
D1
D2
SCLK
RST
Q
D3
D4
ECLK
1'b0
1'b1
1'b0
1'b1
SCLK
RST
Q
ECLK
_
D0
SCLK
RST
Q
ECLK
SCLK
RST
Q
DELAYG
DEL_MODE=
DQS_CMD_CLK
addr. ba
cke, odt
casn, rasn, wen
csn
DELAYG
D0
D1
SCLK
RST
Q
ECLK
casn_din(0), rasn_din(0), wen_din(0)
casn_din(1), rasn_din(1), wen_din(1)
Eclk (from ECLKSYNCA)
DDR_reset
addr_din(0), ba_din(0)
addr_din(1), ba_din(1)
Sclk (from CLKDIVD)
csn_din(0)
csn_din(1)
cke_din(0), odt_din(0)
cke_din(1), odt_din(1)
D0
D1
D1
D0
D1
ODDRX2F
ODDRX1F
ODDRX1F
ODDRX1F
OSHX2A
DEL_MODE=
DQS_CMD_CLK