GithubHelp home page GithubHelp logo

zhongyuchen / mips-32bit Goto Github PK

View Code? Open in Web Editor NEW
8.0 1.0 5.0 163.96 MB

Four versions of MIPS 32bit implemented in Verilog using Vivado, ready for Simulation and Nexys4 DDR Board

License: Apache License 2.0

Tcl 15.24% Verilog 63.16% C++ 0.15% C 21.45%
verilog vivado fpga nexys4ddr mips

mips-32bit's Introduction

mips-32bit

build status Vivado version Verilog version FPGA version MIT license

  • Four versions of MIPS 32bit implemented with Verilog HDL in Vivado HLx.
  • For each version of MIPS, there are several interesting test programs in both assembly and hex code that solve problems such as Fibonacci (recursion), Hanoi tower, select sort and so on.
  • Simulation files are also implemented.
  • All versions can be used on Digilent Nexys4 DDR Board and all variables in the CPU are visible on the development board!
  • Each version came with a detailed report (in Chinese) explaining the design and result.
  • Related materials and course slides are also provided!

MIPS 32bit

The following versions of MIPS 32bit are included:

  • monocycle
  • multicycle
  • pipeline
  • pipeline with cache
    • one instruction cache and one data cache

Prerequisites

Usage

Preparations

  • In module imem(), there is this line of code for loading hex instructions. Replace <FILE> with the actual path of the hex program
$readmemh("<FILE>", RAM);
  • In module regfile(), there may be this line of code for resetting the register. Replace <FILE> with the actual path of emptyreg.dat
$readmemh("<FILE>",rf);
  • When writing file path, use / instead of default \ !

Run

  • Simulation:
    • just run Simulation
  • Nexys4 DDR Board:
    • run Synthesis
    • run Implementation
    • run Generate Bitstream
    • open Hardware Manager
    • connect the board

Links

  • MIPS simulator QtSpim can run MIPS assembly (32 bit)
  • MIPS Converter converts MIPS assembly into hex code and vice versa

mips-32bit's People

Contributors

zhongyuchen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 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.