All Projects → vmmc2 → Vulcan

vmmc2 / Vulcan

Licence: mit
RISC-V Instruction Set Simulator (Built for education).

Programming Languages

dart
5743 projects
assembly
5116 projects

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
Cpu60
Example of CPU simulation in software
Stars: ✭ 152 (+90%)
Mutual labels:  education, simulator
ravel
A RISC-V simulator
Stars: ✭ 24 (-70%)
Mutual labels:  simulator, risc-v
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
antares
Digital circuit learning platform
Stars: ✭ 15 (-81.25%)
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
Mpython
mpython掌控板文档和固件源码
Stars: ✭ 74 (-7.5%)
Mutual labels:  education
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

vulcanlogo 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

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

homepage

Editor Page

editorpage

Simulator Page 1

simpage1

Simulator Page 2

simpage2

Simulator Page 3

simpage3

Simulator Page 4

simpage4

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].