2386 - [Lattice ECP3]: Can I run a DDR3 interface at frequencies as low as 100MHz using LatticeECP3?

2386 - [Lattice ECP3]: Can I run a DDR3 interface at frequencies as low as 100MHz using LatticeECP3?

Running a DDR3 memory interface at such a low frequency is not supported. It is not only because of the limitation of LatticeECP3 but also due to the DDR3 memory device specification. DDR3 minimum clock cycle requirement is 300MHz or 3.3ns tCK. This is mainly because of the DDR3's internal DLL operation range. When DLL is disabled, tCK(max) can be increased up to 8ns (or down to 125MHz). Without DLL, however, a dedicated memory controller may be required to deal with fluctuating timing.

LatticeECP3 devices also have a DLL specification range of 133MHz to 500MHz. The LatticeECP3 DLL is used to provide a precise 90-degree phase shift for DDR3 write and read operations. If this DLL is running too fast (>500MHz) or too slow (<133MHz), the DLL lock may be released and there may be unknown phase relations.

As a result, a DDR3 interface implemented in LatticeECP3 will not work at these low frequencies. The Lattice DDR3 memory controller IP is designed to operate with the memory DLL enabled, and its operating range is from 300MHz to 400MHz in LatticeECP3 devices.