Coder Social home page Coder Social logo

gmejiamtz / sdram_controller_generator Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 91 KB

A Chisel hardware generator for SDRAM controllers from their datasheets

Home Page: https://gmejiamtz.github.io/projects/sdram_controller_gen/

License: MIT License

Dockerfile 2.30% Scala 97.70%

sdram_controller_generator's Introduction

SDRAM Controller Generation

 

SDRAM Controller Generation

Github top language Github language count Repository size License

About   |   Tools   |   License  


About

In this project, we provide a Chisel generator for SDRAM controllers. Users will supply a .json representation of their targetted SDRAM's datasheet to provide timing values and other parameters such as address bus size and frequency. Templates are provided in the templates directory and provides more information on .json file formatting.

Usage

To use this generator follow the steps below:

Step 1

Clone the repo:

git clone https://github.com/gmejiamtz/sdram_controller_generator.git

Step 2

Supply your config.json file and provide the generator its path to generate SDRAMController.v:

cd sdram_controller_gen
sbt "run $PATH_TO_CONFIG_FILE"

Step 3

To test simply do the following commands:

cd sdram_controller_gen
sbt test

Tests at the moment only test for initialization of an MT48LC1M16A1 Micron SDRAM. More will be added soon!

To Do List

Targetting Micron MT48LC1M16A1 SDRAM - 512K x 16 x 2 banks

  1. Build SDRAM controller state machine - In Progress - Init and Read(CAS of 1,2, and 3) States are verified, Write State in current testing

  2. Build SDRAM controller model - In Progress - Mostly complete, needs more rigorous testing, proper decay parameterization

  3. Generate tests for MT48LC1M16A1 controller - In Progress - Analog Connection posing issues with ChiselTest thus need to write Verilog Testbenches by hand and use Verilator and Icarus-Verilog for simulations

  4. Build Main program to generate Verilog - Parsing is done, need to rewrite Parameter case class to take in Map of String to Int

🔨 Tools

The following tools were used in this project:

📝 License

This project is under license from MIT. For more details, see the LICENSE file.

Made by Gary Mejia and Joaquin Ortiz for CSE 228A - Agile Hardware Design

 

Back to top

sdram_controller_generator's People

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.