Due to its high memory capacity and low price, DDR SDRAM is commonly used in computer and integrated systems powered both by microcontrollers and FPGAs. To communicate with external memory, an FPGA requires the implementation of a memory interface, which acts as as a two-way converter between the memory signals and the FPGA's internal logic.
Xilinx, Inc. officially offers two memory interfaces for use with its 7 Series FPGAs. The first is free, but its large FPGA area usage limits it to large FPGA chips. The second has a lower FPGA utilization, but is not affordable. The goal of this thesis was to develop a third option, which would enable similar transfer speeds as the established solutions while utilizing a smaller portion of the FPGA.
The thesis begins by introducing DDR3 SDRAM; Its internal structure, external connections, and its communication are discussed. The work then describes the primitives of the input-output blocks within the FPGA as used in the finished product, and the methodology employed to test them before the memory interface was developed. This was done on a Digilent Arty S7-50 development board, which houses a Xilinx Spartan 7 FPGA as well as a 2 Gbit x16 DDR3L SDRAM chip. Finally, the developed memory interface is described, along with test results and a comparison with the two memory interfaces already available.
The developed DDR3 memory interface for Xilinx 7 Series FPGAs was shown to work at a memory speed of 650 MT/s while utilizing fewer than 2,4 % of the 8150 logic slices available in the used Spartan 7 FPGA device.
|