Git Product home page Git Product logo

hhy5277 / nontrivial-mips Goto Github PK

View Code? Open in Web Editor NEW

This project forked from trivialmips/nontrivial-mips

0.0 1.0 0.0 20.85 MB

NonTrivial-MIPS is a synthesizable superscalar MIPS processor with branch prediction and FPU support, and it is capable of booting linux.

License: Other

SystemVerilog 54.63% Verilog 4.70% Makefile 0.24% Shell 1.88% Python 0.35% Assembly 12.74% Awk 0.06% Tcl 0.88% TeX 24.52%

nontrivial-mips's Introduction

NonTrivialMIPS

NonTrivial-MIPS is a synthesizable superscalar MIPS processor with branch prediction and CP1 (FPU), CP2 (AES accelerator) support, and it is capable of booting fully-functional Linux.

Authors

See AUTHORS for information about the authors of this project.

Directory Structure

  • loongson: files from Loongson, some are adapted
    • cpu_gs232: RTL code of GS232 CPU (not committed for copyright reason), packaged as Vivado IP
    • soc_axi_func: Vivado project, RTL code and testbench of functional test (using NonTrivialMIPS CPU)
    • soc_axi_perf: Vivado project, RTL code and testbench of performance test (using NonTrivialMIPS CPU)
    • soc_run_os: Vivado project and RTL code of a whole SoC (using GS232 CPU, upgraded to 2018.3)
    • soft: RAM initialization files used by the projects above
  • src: RTL code of NonTrivialMIPS CPU
  • vivado: Vivado project and block design of NSCSCC SoC
  • testbench: Testbenches of NonTrivialMIPS CPU / NSCSCC Soc
  • report: Design reports (LaTeX srouce code and rendered PDF)

Remark: out-of-order branch contains a toy dual-issue out-of-order processor.

Build Project

Compiling options

NonTrivialMIPS CPU has some compiling flags that can control the features that will be enabled and parameters (such as cache size and associativity) that will be used. See src/compile_options.svh for details.

Note that inappropriate changes made to these flags may lead to strange or WRONG behaviors of the CPU.

Generate bitstream

You can generate bitstreams that can be programmed to FPGA by following commands:

# for soc project
/path/to/vivado -mode tcl -source scripts/build_soc.tcl vivado/TrivialMIPS.xpr
# for loongson functional test
/path/to/vivado -mode tcl -source scripts/generate_bitstream.tcl loongson/soc_axi_func/run_vivado/mycpu_prj1/mycpu.xpr
# for loongson performance test
/path/to/vivado -mode tcl -source scripts/generate_bitstream.tcl loongson/soc_axi_perf/run_vivado/mycpu_prj1/mycpu.xpr

Vivado 2018.3 is required.

License

All source code under src/ is released under the MIT License with the following exceptions:

Other directories might contain source code or materials that are proprietary or subject to open source licenses and kept in this repository as-is. Should you use these contents, you are aware that you will bear any corresponding legal responsibility or consequences.

nontrivial-mips's People

Contributors

circuitcoder avatar harry-chen avatar jiegec avatar miskcoo 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.