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.
44
FPGA-TN-02035-1.3
D0
D1
SCLK
RST
Q
1'b0
CLKP /
CLKN
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
ECLK
DYNDELAY[7:0]
D2
D3
ECLK
DQSW
1'b0
DQSW
PAUSE
From Input side
DDRDLLA
1'b1
1'b1
D0
D1
RST
DQSW
D2
D3
SCLK
ECLK
Q
csn ,cke ,
odt
csn /cke /
odt_in(0)
csn /cke /
odt_in(1)
‘0’
‘0’
‘0
‘0
‘0
‘0’
‘0’
‘0’
‘0’
‘0’
‘0’
‘0’
‘0’
DDR_reset
Sclk (from CLKDIVF as shown in the Input interface)
Eclk (from ECLKSYNCB as shown in the Input interface)
ODDRX2DQSB
ODDRX2DQSB
Figure 6.14. LPDDR3 Output Side for CSN, CKE, ODT, and CLOCK Generation
6.4.
DDR Memory Interface Design Rules and Guidelines
Listed below are some rules and guidelines to keep in mind when implementing DDR memory interfaces in ECP5 and
ECP5-5G devices. ECP5 and ECP5-5G devices have dedicated DQS banks with the associated DQ pads.
The left and right sides of an ECP5 and ECP5-5G device share an identical I/O structure. All of the memory
interfaces can be implemented on these sides.
The Top side of the device does not support DQSBUF blocks. As such, it does not support DDR memory interfaces.
Although some of the ADDR/CMD generation that uses ODDRX1 modules can be placed on the top side of the
device for DDR2, DDR3, and DDR3L.
DDRDLLA primitive should be instantiated for all DDR memory interfaces. Each DDRDLLA generates 90° digital
delay code for all the connected DQS delay blocks based on the reference clock input to the DDRDLLA. Therefore,
all the DDR memory interfaces under the same DDRDLLA coverage must run at the same frequency.
There are four DDRDLLs on each device, one DDRDLL in each corner of the device. Each DQSBUF module can
receive delay codes from either of the DDRDLLs in each top and bottom corner of the device. This would be an
exception for the smallest device where there are only two DDRDLLs on the device.
When a DDR memory interface is added to the side where another DDR memory interface is running at a different
frequency, another available DDRDLLA for the side must be instantiated and used for the new interface.
The reference clock input to the PLL used in the DDR memory interface implementation must be located to the
dedicated PLL pin or a PCLK pin. The dedicated PLL input pin is preferred due to less skew.
Each DDR memory interface must use its corresponding I/O standard.
For the DDR2 memory interface, the interface signal should use the SSTL18 I/O standards.
For the DDR3 memory interface, these signals should be connected to the SSTL15 standards.
For the DDR3L memory interface, these signals should be connected to the SSTL135 standards.
For the LPDDR2 and LPDDR3 memory interface, the interface signal should use the HSUL12 standard.