RISC-V Instruction Set Simulator Built For Education.
- RV32I Extension.
- RV32M Extension.
- RV32A Extension.
- RV32F Extension.
- Visualization of programming counter (PC), machine code and original instructions side-by-side.
- Embedded editor inside Vulcan.
- Integer registers visualization.
- Single precision floating-point registers visualization.
- Memory visualization.
- Syntax Error Alert.
- lui
- auipc
- jal
- jalr
- beq
- bne
- blt
- bge
- bltu
- bgeu
- lb
- lh
- lw
- lbu
- lhu
- sb
- sh
- sw
- addi
- slti
- sltiu
- xori
- ori
- andi
- slli
- srli
- srai
- add
- sub
- sll
- slt
- sltu
- xor
- srl
- sra
- or
- and
- fence
- fence.i
- ecall
- ebreak
- csrrw
- csrrs
- csrrc
- csrrwi
- csrrsi
- csrrci
- mul
- mulh
- mulhsu
- mulhu
- div
- divu
- rem
- remu
- flw
- fsw
- fmadd.s
- fmsub.s
- fnmsub.s
- fnmadd.s
- fadd.s
- fsub.s
- fmul.s
- fdiv.s
- fsqrt.s
- fsgnj.s
- fsgnjn.s
- fsgnjx.s
- fmin.s
- fmax.s
- fcvt.w.s
- fcvt.wu.s
- fmv.x.w
- feq.s
- flt.s
- fle.s
- fclass.s
- fcvt.s.w
- fcvt.s.wu
- fmv.w.x
- lr.w
- sc.w
- amoswap.w
- amoadd.w
- amorxor.w
- amoand.w
- amoor.w
- amomin.w
- amomax.w
- amominu.w
- amomaxu.w
- 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.
- Google Chrome
- Mozilla Firefox
- Microsoft Edge
- 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.
- You must go to the "Editor" tab and write your code inside the editor. When you are done, press the "Simulate" button.
- 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).
- You can use Vulcan online by the following link: https://vmmc2.github.io/vulcan
- 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.