Giter Site home page Giter Site logo

tommythorn / yari Goto Github PK

View Code? Open in Web Editor NEW
43.0 4.0 9.0 31.57 MB

YARI is a high performance open source FPGA soft-core RISC implementation, binary compatible with MIPS I. The distribution package includes a complete SoC, simulator, GDB stub, scripts, and various examples.

License: GNU General Public License v2.0

Makefile 7.92% Verilog 0.66% C 54.04% HTML 1.96% Shell 1.24% C++ 12.14% Assembly 2.08% Objective-C 0.21% R 0.01% Logos 0.01% Perl 0.16% M 0.01% Vim Script 0.01% XSLT 0.07% TeX 0.85% Java 18.50% Forth 0.10% Awk 0.01% Pascal 0.04% Scilab 0.01%
fpga-soc fpga mips verilog

yari's Introduction

              YARI -- Yet Another RISC Implementation

Last update: 2010-09-04

INTRODUCTION

YARI is an high performance soft core RISC implementation, binary
compatible with a subset of MIPS R3000.

This README will be out of date at the time you read this, but the
implementation currently comprises:

- A reference simulator which closely matches the RTL implementation
  (in fact they co-simulate).

- A few regression and tests programs
- An RTL (Verilog) implementation

  Core features:
  + an eight stage pipeline.
  + a 4-way associative write-through instruction cache (default 8 KiB)
  + a 4-way associative write-through data cache (default 16 KiB)
  + a store buffer
  + all of the integer user-level instructions supported

  Peripherals (depending on the target)
  + Async SRAM interface (32-bit and 16-bit)
  + Sync burst SRAM interface (32-bit)
  + Serial in/out
  + 1024x768x8 video interface

  Simulation
  + Enough support to fully simulate the RTL with Icarus Verilog.
  + Co-simulation against the reference simulator supported

  Synthesis
  + Multiple target platforms supported (currently only Altera based)
  + Runs at 80+ MHz.

- A boot loader pre-loaded into the I$ - will load programs over the
  serial port.

- Assorted tools to turn the elf binaries into ROM and RAM images.



GETTING STARTED

There are a few prerequisites for full YARI enjoyment:

- For building any test programs: Cross compilation tool much be built
  (mips-elf-gcc, etc).  The script xtools/BUILD is what I used to
  build them

- For simulation: Icarus Verilog.  Great stuff.  Get the most recent
  version from http://www.icarus.com/eda/verilog

- For synthesis: currently I've only tested with Quartus 7.2sp1, 8.0,
  8.0sp1, and 10.0.  Get it for free from http://www.altera.com.

With the Icarus Verilog installed you should be able to simply run

  make rtlsim

and see the trace of instructions as the Verilog implementation makes
it through a small self-checking regression test.

For more interesting workloads, try

  make -C testcases VERB= PROG=buzzard isasim

or try co-simulation

  make -C testcases VERB= PROG=fib cosim

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.