GithubHelp home page GithubHelp logo

gafert / apate Goto Github PK

View Code? Open in Web Editor NEW
10.0 2.0 3.0 11.05 MB

A graphical and educational processor simulator based on the RISC-V instruction set architecture

License: GNU General Public License v3.0

JavaScript 6.80% TypeScript 75.08% C 1.67% Assembly 0.22% HTML 9.15% GLSL 0.98% SCSS 6.09%
riscv32 simulator elf elf-parser instruction-set rv32i three-js linux macos windows cpu visualisation

apate's Introduction

Screenshot


This simulator is a tool for students to learn the inner workings of a CPU. It is based on the RISC-V instruction set architecture (RV32I) and provides a visual step by step guide through a CPU. Watch the introduction video!

Downloads Build/release GitHub all releases

Windows macOS Linux
See older versions in the releases

Features

  • Step by step guid through the CPU
  • See the current instruction and what that instruction does
  • Information about each element and signal of the CPU
  • See all registers, memory
  • Run examples
  • Compile your own code with integrated editor and compiler
  • Complex CPU elements simplified
  • Not focused on speed, verification, completeness or correct depiction of HDL but on principles of teaching

Under the hood

  • Runs on electron
  • Visualisation with three.js and SVGLoader
  • Interface with Angular
  • Custom JavaScript ELF parser
  • Custom JavaScript instruction decoder
  • Custom JavaScript CPU based RV32I ISA

Thank you to @jameslzhu for RISC V Reference Sheet, and @anvaka for three.map.control. Other used packages are in the packages.json.

apate's People

Contributors

gafert avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.