Code Monkey home page Code Monkey logo

riscy's Introduction

Riscy Processors - Open-Sourced RISC-V Processors

This repository contains a collection of open-sourced RISC-V processors written in Bluespec System Verilog (BSV).

These processors can be built with a variety of backends to use the processors in different simulation frameworks or FPGA. Currently the supported backends are Connectal and Verilator. Connectal is a generic framework that supports a variety of FPGAs and simulation targets.

Getting Started

How to get started with this repository (tested in Ubuntu 14.04):

  1. Get all the submodules.

     $ git submodule update --init --recursive
    
  2. Get dependencies for building the RISC-V toolchain and building using connectal.

     $ sudo apt-get install autoconf automake autotools-dev curl libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc python-ply
    
  3. Build riscv-gnu-toolchain and riscv-tests. build.sh can be used to build custom toolchains by passing the desired RISC-V ISA string in all caps (eg: ./build.sh RV32IMC"). By default, build.shbuilds the toolchaintools/RV64G`.

     $ cd tools
     $ ./build.sh
     $ cd ..
    
  4. Setup environment variables for the Riscy project. You should either use this script from the top-level directory of the Riscy repository, or you should change the variable RISCY_HOME in the script to be the path to the Riscy repository.

     $ source ./setup.sh
    
  5. Get a newer version of Verilator. The version of Verilator in the Ubuntu package has a bug that prevents running our BSV designs. We use a PPA to provide a newer version of Verilator.

     $ sudo apt-add-repository -y ppa:jamey-hicks/connectal
     $ sudo apt-get update
     $ sudo apt-get install verilator
    
  6. Build the multicycle processor using the connectal backend with its verilator target.

     $ cd procs/RV64G_multicycle
     $ make build.verilator
    
  7. Simulate tests by running ./runtests.sh and then select the connectal (verilator) backend and which tests to run

riscy's People

Contributors

acw1251 avatar everrosales avatar jameyhicks avatar threonorm 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.