GithubHelp home page GithubHelp logo

rmnattas / rars Goto Github PK

View Code? Open in Web Editor NEW

This project forked from thethirdone/rars

0.0 0.0 0.0 2.43 MB

RARS -- RISC-V Assembler and Runtime Simulator

License: Other

Java 91.90% Shell 0.01% HTML 4.50% Assembly 3.59%

rars's Introduction

RARS -- RISC-V Assembler and Runtime Simulator

RARS, the RISC-V Assembler, Simulator, and Runtime, will assemble and simulate the execution of RISC-V assembly language programs. Its primary goal is to be an effective development environment for people getting started with RISC-V.

Features

  • RV32IMF ISA with some support for user level interrupts.
  • Several system calls that match behaviour from MARS or SPIKE.
  • Support for debugging using breakpoints and/or ebreak
  • Side by side comparison from psuedo-instruction to machine code with intermediate steps
  • Multifile assembly using either files open or a directory

Download

RARS is distributed as an executable jar. You will need at least Java 8 to run it.

The latest stable release can be found here, a release with the latest developments can be found on the continuous release, and the releases page contains all previous stable releases with patch notes.

Screenshot

Screenshot of sample program

Changes from MARS 4.5

RARS was built on MARS 4.5 and owes a lot to the development of MARS; its important to note what are new developments and what come straight from MARS. Besides moving from supporting MIPS to RISC-V and the associated small changes, there are several general changes worth noting.

  • Instructions can now be hot-loaded like Tools. If you want to support an additional extension to the RISC-V instruction set. the .class files just need to be added to the right folder
  • ScreenMagnifier, MARS Bot, Intro to Tools, Scavenger Hunt, and MARS Xray were removed from the included tools. ScreenMagnifier, MARS Bot, Intro to Tools, and Scavenger Hunt were removed because they provide little benefit. And MARS Xray was removed because it is not set up to work with RISC-V, however if someone ports it, it could be merged in.
  • Removed delayed branching
  • Removed the print feature
  • Added a testing framework to verify compatability with the RISC-V specification
  • Significant internal restructuring and refactoring.

Future improvements

RARS is currently a useful tool, but there is definitely still room for improvement.

  • Support assembling to and simulating from the ELF format
  • Support more standard extensions (such as Doubles or Atomics)
  • Support more Linux system calls and have directly compatible behaviour with Spike
  • Eliminate known bugs

rars's People

Contributors

esperz2019 avatar obijuan avatar rmnattas avatar taylorzowtuk avatar thethirdone avatar zacharyselk 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.