GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - vmmc2/Vulcan: RISC-V Instruction Set Simulator (Built for education).

This repository was archived by the owner on Aug 28, 2024. It is now read-only.
BranchesTags
Open more actions menu

Latest commit

 

History

577 Commits
577 Commits

Folders and files

NameName
Last commit message
Last commit date
Documentation
Documentation
 
 
design_skecthes
design_skecthes
 
 
test
test
 
 
vulcan
vulcan
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
vulcan_editorpage.png
vulcan_editorpage.png
 
 
vulcan_homepage.png
vulcan_homepage.png
 
 
vulcan_logo.png
vulcan_logo.png
 
 
vulcan_simulatorpage1.png
vulcan_simulatorpage1.png
 
 
vulcan_simulatorpage2.png
vulcan_simulatorpage2.png
 
 
vulcan_simulatorpage3.png
vulcan_simulatorpage3.png
 
 
vulcan_simulatorpage4.png
vulcan_simulatorpage4.png
 
 

Repository files navigation

Vulcan

vulcanlogo RISC-V Instruction Set Simulator Built For Education.

Features

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

Implemented Instructions

RV32I Extension

  • 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

RV32M Extension

  • mul
  • mulh
  • mulhsu
  • mulhu
  • div
  • divu
  • rem
  • remu

RV32F Extension

  • 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

RV32A Extension

  • lr.w
  • sc.w
  • amoswap.w
  • amoadd.w
  • amorxor.w
  • amoand.w
  • amoor.w
  • amomin.w
  • amomax.w
  • amominu.w
  • 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

  • Google Chrome
  • Mozilla Firefox
  • 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

homepage

Editor Page

editorpage

Simulator Page 1

simpage1

Simulator Page 2

simpage2

Simulator Page 3

simpage3

Simulator Page 4

simpage4

About

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

Topics

assemblycomputer-architectureeducationriscrisc-vsimulator

Resources

Readme
MIT license
Activity

Stars

103 stars

Watchers

0 watching

Forks

10 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.