Skip to content

Latest commit

 

History

History
62 lines (38 loc) · 1.58 KB

README.md

File metadata and controls

62 lines (38 loc) · 1.58 KB

Build Status

venus is a RISC-V instruction set simulator built for education.

Using venus

venus is available online.

Roadmap

Supported

  • RV32IM (except cycle counters and fence instructions)
  • Single-step debugging with undo feature
  • View machine code and original instructions side-by-side
  • Several ecalls: including print and sbrk
  • la and load pseudoinstructions

Currently in progress

  • All standard RV32I pseudoinstructions
  • Improved integrated editor (syntax highlighting, autocomplete, better error highlighting)
  • RV32F support
  • Breakpoint debugging
  • Memory visualization

Goals

  • Variable-length instructions (and RV32C extension)
  • Instruction DSL
  • RV32G support
  • Hardware and cache visualizations
  • RV64I support

Building venus

If you want to make changes to venus's source code, see below.

Backend

The backend for venus is written in Kotlin and compiled into Javascript. To build, execute the following in your terminal:

./gradlew build

To run the included tests, open qunit/test.html.

Frontend

Building the frontend requires node and npm to be installed. Execute the following:

npm install

Once that's done, you should be able to run the tests from the command line:

grunt test

To create a standalone distribution, run grunt dist. All of the needed files are in the out/ directory.

Contributing

Coming soon.