Skip to content
A FPGA core for a simple SDRAM controller.
Branch: master
Clone or download
Latest commit 4466a96 Nov 21, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
LICENCE Update readme Nov 21, 2019 Update readme Nov 21, 2019
sdram.vhd Initial import Nov 21, 2019
state-diagram.png Add state diagram Nov 21, 2019

SDRAM Controller

Because synchronous dynamic RAM (SDRAM) has complex timing and signalling requirements, a memory controller is necessary to avoid having to deal with the nitty-gritty details when reading or writing. Its job is to hide the complexity of things like row and column addressing, precharging, and refreshing. Instead it lets us treat SDRAM just like plain old static memory.

This SDRAM controller provides a symmetric 32-bit synchronous read/write interface for a 16Mx16-bit SDRAM chip (e.g. AS4C16M16SA-6TCN, IS42S16400F, etc.).

Even though the SDRAM chip only has a 16-bit data bus, the controller uses a 32-bit data bus because it is more efficient to burst multiple words from the SDRAM than it is to do individual reads and writes.

State Diagram

State Diagram


This project is licensed under the MIT licence. See the LICENCE file for more details.

You can’t perform that action at this time.