vmmc2 / Vulcan
Licence: mit
RISC-V Instruction Set Simulator (Built for education).
Stars: ✭ 80
Projects that are alternatives of or similar to Vulcan
Jupiter
RISC-V Assembler and Runtime Simulator
Stars: ✭ 326 (+307.5%)
Mutual labels: risc-v, education, simulator
Rars
RARS -- RISC-V Assembler and Runtime Simulator
Stars: ✭ 413 (+416.25%)
Mutual labels: risc-v, education, simulator
Ripes
A graphical processor simulator and assembly editor for the RISC-V ISA
Stars: ✭ 584 (+630%)
Mutual labels: risc-v, education, simulator
Venus
RISC-V instruction set simulator built for education
Stars: ✭ 109 (+36.25%)
Mutual labels: risc-v, education
Edumips64
Free cross-platform educational MIPS64 CPU Simulator
Stars: ✭ 126 (+57.5%)
Mutual labels: education, simulator
Digital
A digital logic designer and circuit simulator.
Stars: ✭ 1,108 (+1285%)
Mutual labels: education, simulator
Mipt Mips
Cycle-accurate pre-silicon simulator of RISC-V and MIPS CPUs
Stars: ✭ 250 (+212.5%)
Mutual labels: risc-v, simulator
drmips
I don't maintain this project anymore. Feel free to fork it! - Educational MIPS simulator
Stars: ✭ 41 (-48.75%)
Mutual labels: education, simulator
WebRISC-V
WebRISC-V: A Web-Based Education-Oriented RISC-V Pipeline Simulation Environment [PHP]
Stars: ✭ 74 (-7.5%)
Mutual labels: simulator, risc-v
OpenCircuits
A free, open source, online digital circuit/logic designer.
Stars: ✭ 140 (+75%)
Mutual labels: education, simulator
Learn Vim
Vim 实操教程(Learning Vim)Vim practical tutorial.
Stars: ✭ 1,166 (+1357.5%)
Mutual labels: education
Platform Kendryte210
Kendryte K210: development platform for PlatformIO
Stars: ✭ 60 (-25%)
Mutual labels: risc-v
Pgdrive
PGDrive: an open-ended driving simulator with infinite scenes from procedural generation
Stars: ✭ 60 (-25%)
Mutual labels: simulator
Pypownet
A power network simulator with a Reinforcement Learning-focused usage.
Stars: ✭ 69 (-13.75%)
Mutual labels: simulator
Mcusim
MCUSim is an XSPICE library with microcontrollers.
Stars: ✭ 59 (-26.25%)
Mutual labels: simulator
Riscy Soc
Riscy-SoC is SoC based on RISC-V CPU core, designed in Verilog
Stars: ✭ 59 (-26.25%)
Mutual labels: risc-v
Vulcan
RISC-V Instruction Set Simulator Built For Education.
Features
- [x] RV32I Extension.
- [x] RV32M Extension.
- [x] RV32A Extension.
- [x] RV32F Extension.
- [x] Visualization of programming counter (PC), machine code and original instructions side-by-side.
- [x] Embedded editor inside Vulcan.
- [x] Integer registers visualization.
- [x] Single precision floating-point registers visualization.
- [x] Memory visualization.
- [x] Syntax Error Alert.
Implemented Instructions
RV32I Extension
- [x] lui
- [x] auipc
- [x] jal
- [x] jalr
- [x] beq
- [x] bne
- [x] blt
- [x] bge
- [x] bltu
- [x] bgeu
- [x] lb
- [x] lh
- [x] lw
- [x] lbu
- [x] lhu
- [x] sb
- [x] sh
- [x] sw
- [x] addi
- [x] slti
- [x] sltiu
- [x] xori
- [x] ori
- [x] andi
- [x] slli
- [x] srli
- [x] srai
- [x] add
- [x] sub
- [x] sll
- [x] slt
- [x] sltu
- [x] xor
- [x] srl
- [x] sra
- [x] or
- [x] and
- [ ] fence
- [ ] fence.i
- [ ] ecall
- [ ] ebreak
- [ ] csrrw
- [ ] csrrs
- [ ] csrrc
- [ ] csrrwi
- [ ] csrrsi
- [ ] csrrci
RV32M Extension
- [x] mul
- [x] mulh
- [x] mulhsu
- [x] mulhu
- [x] div
- [x] divu
- [x] rem
- [x] remu
RV32F Extension
- [x] flw
- [x] fsw
- [x] fmadd.s
- [x] fmsub.s
- [x] fnmsub.s
- [x] fnmadd.s
- [x] fadd.s
- [x] fsub.s
- [x] fmul.s
- [x] fdiv.s
- [x] fsqrt.s
- [x] fsgnj.s
- [x] fsgnjn.s
- [x] fsgnjx.s
- [x] fmin.s
- [x] fmax.s
- [x] fcvt.w.s
- [x] fcvt.wu.s
- [x] fmv.x.w
- [x] feq.s
- [x] flt.s
- [x] fle.s
- [ ] fclass.s
- [x] fcvt.s.w
- [x] fcvt.s.wu
- [x] fmv.w.x
RV32A Extension
- [x] lr.w
- [x] sc.w
- [x] amoswap.w
- [x] amoadd.w
- [x] amorxor.w
- [x] amoand.w
- [x] amoor.w
- [x] amomin.w
- [x] amomax.w
- [x] amominu.w
- [x] amomaxu.w
Limitations
- Unfortunately, by the time that I did the initial version, Flutter Web does not support responsive web apps. Because of it, one must use Vulcan in fullscreen mode. Otherwise, the app will throw overflow exceptions.
Usage
Web Browser Status
- [x] Google Chrome
- [x] Mozilla Firefox
- [x] Microsoft Edge
How to use it?
- You must be familiar with RISC-V Assembly in order to use Vulcan properly. If you want to learn about it, you can check the documentation folder inside this repository.
How to simulate my RISC-V Assembly code?
- You must go to the "Editor" tab and write your code inside the editor. When you are done, press the "Simulate" button.
Local Usage
- First of all, you must install the Dart SDK in your computer: https://dart.dev/
- Then, you need to install the Flutter framework: https://flutter.dev/
- Since Vulcan is a Flutter WebApp, you must install the Web extension. More info can be found here: https://flutter.dev/docs/get-started/web
- After that, you can download this repository as a zip folder. Extract it in your machine. In the command line, get inside it and finally run the following command:
flutter run -d chrome
- Then you can use it as you please.
- This is the version 1.0 (not the final).
Web usage
- You can use Vulcan online by the following link: https://vmmc2.github.io/vulcan
Bugs and Errors
- If you find any bugs, errors or strange behavior, feel free to open an issue. The only thing that I ask is to provide a detailed explanation of the bug/error/strange behavior. If possible, provide a screenshot.
Screenshots
Home Page
Editor Page
Simulator Page 1
Simulator Page 2
Simulator Page 3
Simulator Page 4
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].