SDRAM is dynamic random access memory (DRAM) with a synchronous interface. It means that SDRAM uses a clock while DRAM does not. The interface has the system bus carrying data between the CPU and the memory controller hub. The memory controller will accept memory requests from the CPU, analyze the requests and dispatch them to the SDRAM in an efficient manner. This SDRAM Controller is simple and only one bank is active at a time.
-
Icarus-Verilog can be installed via Homebrew :
$ brew install icarus-verilog
-
Download Scansion from here.
-
Clone the repository.
-
Run
$ make
and type MIPS code to see it in binary form in rams_init_file.hex file. -
$ make simulate
will:
- compile design+TB
- simulate the verilog design
$ make display
will:
- display waveforms.