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.
12
FPGA-TN-02035-1.3
3.4.
PLL
The PLL provides frequency synthesis, with additional static and dynamic phase adjustment, as well. Four output ports
are provided, CLKOP, CLKOS, CLKOS2, and CLKOS3. All four outputs have the same set of dividers. There is one PLL per
corner on the biggest device, totaling to four PLLs on each device.
3.5.
DDRDLL
The DDRDLL is a dedicated DLL for creating the 90° clock delay. The DDRDLL outputs delay codes that are used in the
DQSBUF elements to delay the DQS input or in the DLLDEL module to delay the input clock. There is one DDRDLL at
each corner of the device, totaling to four DDRDLLs on each device. The DDRDLL on the top corners of the device can
drive delay codes to two adjacent edges of the device, providing a possible two DDRDLL codes for an edge.
DLLDEL
DLLDEL
DLLDEL
DQSBUF
DQSBUF
ULC_DDRDLL
LLC_DDRDLL
LRC_DDRDLL
URC_DDRDLL
Figure 3.2. DDRDLL Connectivity
3.6.
DQSBUF
There is one DQSBUF for each DQS lane (every 12 to 16 I/O depending on the selected device). The DQS input is used
when interfacing to DDR memories. It generates the delay on the DQS pin of the DQS lane, to provide a 90o phase shift
on DQS to clock the DDR data at the center. The delay is set by a delay code generated in the DDRDLL component. Each
DQSBUF can receive delay codes from two different DDRDLs hence two different DDR memory interfaces can be built
on one side of the device.
Each of the DQSBUF modes has an additional feature that allows you to adjust the delay from the delay set by the
DDRDLL code, by using the MOVE and DIRECTION inputs controlled by the user logic. The LOADN resets the delay back
to the DDRDLL code.