Sei sulla pagina 1di 2

Designing a Spartan-3 FPGA

DDR Memory Interface


Xilinx provides many tools to implement
customized DDR memory interfaces.

by Rufino Olay DDR SDRAM is an evolutionary of storage elements. The storage-element


Marketing Manager, Spartan Solutions extension of “single-data-rate” SDRAM pair on either the output path or the three-
Xilinx, Inc. and provides the benefits of higher speed, state path can be used together with a spe-
rufino.olay@xilinx.com reduced power, and higher density com- cial multiplexer to produce DDR
ponents. Data is clocked into or out of the transmission. This is accomplished by tak-
Karthikeyan Palanisamy device on both the rising and falling edges ing data synchronized to the clock signal’s
Staff Engineer, Memory Applications Group of the clock. Control signals, however, still rising edge and converting it to bits syn-
Xilinx, Inc. change only on the rising clock edge. chronized on both the rising and falling
karthi.palanisamy@xilinx.com DDR memory is used in a wide range edge. The combination of two registers and
of systems and platforms and is the com- a multiplexer is referred to as double-data-
Memory speed is a crucial component of puting memory of choice. You can use rate D-type flip-flop (FDDR).
system performance. Currently, the most Xilinx® Spartan™-3 devices to implement
common form of memory used is synchro- a custom DDR memory controller on Memory Controllers Made Fast and Easy
nous dynamic random access memory your board. Xilinx has created many tools to get design-
(SDRAM). ers quickly through the process of building
The late 1990s saw major jumps in Interfacing Spartan-3 and testing memory controllers for Spartan
SDRAM memory speeds and technology Devices with DDR SDRAMs devices. These tools include reference
because systems required faster perform- Spartan-3 platform FPGAs offer an ideal designs and application notes, the Memory
ance and larger data storage capabilities. connectivity solution for low-cost systems, Interface Generator (MIG), and more
By 2002, double-data-rate (DDR) providing the system-level building blocks recently, a hardware test platform.
SDRAM became the standard to meet necessary to successfully interface to the Xilinx application note XAPP454,
this ever-growing demand, with latest generation of DDR memories. “DDR2 SDRAM Memory Interface for
DDR266 (initially), DDR333, and Included in all Spartan-3 FPGA Spartan-3 FPGAs,” describes the use of a
recently DDR400 speeds. input/output blocks (IOB) are three pairs Spartan-3 FPGA as a memory controller,

00 Xcell Journal Second Quarter 2005


using MIG. The results in Table 1 show
DQS
that the implementation would use 17% of
DQ
the slices, leaving more than 80% of the
device free for data-processing functions.
Internally or
Externally
Delayed DQS
to Capture DQ
Testing Out Your Designs
The last sequence in a design is the verifi-
Phase-Shifted
cation and debug in actual hardware.
DCM Output After using MIG 007 to create your cus-
to Capture DQ
tomized memory controller, you can
implement your design on the Spartan-3
Memory Development Kit, HW-S3-
Figure 1 – Read operation timing diagram SL361, as shown in Figure 3. The $995
kit is based on a Spartan-3 1.5M-gate
FPGA (the XC3S1500) and includes
with particular focus on interfacing to a delayed strobe can be centered in the data additional features such as:
Micron MT46v32M16TG-6T DDR window for data capture.
• 64 MB of DDR SDRAM Micron
SDRAM. This and other application notes To maximize resources within the FPGA,
MT5VDDT1672HG-335, with an
illustrate the theory of operations, key chal- you can explore design techniques such as
additional 128 MB DDR SDRAM
lenges, and implementations of a Spartan- using the LUTs as RAMs for data capture –
DIMM for future expansion
3 FPGA-based memory controller. while at the same time minimizing the use
DDR memories use non-free-running of global clock buffers (BUFGs) and digital • Two-line LCD
strobes and edge-aligned read data clock managers (DCMs) – as explained in
• 166 MHz oscillator
(Figure 1). For 333 Mbps data speeds, the the Xilinx application notes. Results are
memory strobe must be used for higher given with respect to the maximum data • Rotary switches
margins. Using local clocking resources, a width per FPGA side for either right and left
• Universal power supply 85V-240V,
or top and bottom
50-60 MHz
implementations.
Implementation chal-
lenges such as these are
mitigated with the
new Memory Interface
Generator.
Xilinx created the
Memory Interface
Generator (MIG 007)
to take the guesswork
out of designing your
own controller. To cre-
ate the interface, the
tool requires you to Figure 3 – Spartan-3 memory
input data including development board (HW-S3-SL361)
Figure 2 – Using the MIG 007 to automatically
create a DDR memory controller FPGA device, frequen-
cy, data width, and Conclusion
banks to use. The inter- With the popularity of DDR memory
active GUI (Figure 2) increasing in system designs, it is only nat-
Feature Utilization Percent Used
generates the RTL, ural that designers use Spartan-3 FPGAs as
Number of Slices 2,277 out of 13,312 17% EDIF, SDC, UCF, and memory controllers. Implementing the
Number of DCMs 1 out of 4 25% related document files. controller need not be difficult.
Number of External IOBs 147 out of 487 30% As an example, we For more information about the applica-
created a DDR 64-bit tion notes, GUI, and development board,
Table 1 – Device utilization for a DDR interface for a Spartan please visit www.xilinx.com/products/
64-bit interface in an XC3S1500 FPGA XC3S1500-5FG676 design_resources/mem_corner/index.htm.

Second Quarter 2005 Xcell Journal 00

Potrebbero piacerti anche