venus is a RISC-V instruction set simulator built for education.
venus is available online.
- RV32IM (except cycle counters and fence instructions)
- Single-step debugging with undo feature
- View machine code and original instructions side-by-side
- Several
ecall
s: includingprint
andsbrk
la
andl
oad pseudoinstructions
- All standard RV32I pseudoinstructions
- Improved integrated editor (syntax highlighting, autocomplete, better error highlighting)
- RV32F support
- Breakpoint debugging
- Memory visualization
- Variable-length instructions (and RV32C extension)
- Instruction DSL
- RV32G support
- Hardware and cache visualizations
- RV64I support
If you want to make changes to venus's source code, see below.
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
.
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.
Coming soon.