Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


WebRISC-V is a web-based graphical pipelined datapath simulation environment built for the RISC-V instruction set architecture. It is suitable for teaching how assembly level code is executed on the RISC-V pipelined architecture and for illustrating the Pipeline Architectural Elements.

WebRISC-V is online and ready for use


If you would like to cite WebRISC-V, please use this reference:

  author = {Giorgi, Roberto and Mariotti, Gianfranco},
  title = {{WebRISC-V}: a Web-Based Education-Oriented  RISC-V Pipeline Simulation Environment},
  booktitle = "ACM Workshop on Computer Architecture Education (WCAE-19)",
  address = "Phoenix, AX, (USA)",
  pages = "1-6",
  rkey = "",
  surl = "",
  month = "jun",
  year = "2019",
  url = "",
  doi = "10.1145/3338698.3338894",
  isbn= "978-1-4503-6842-1/19/06",

Table of Contents


  • 5-stage Graphical Pipeline 64-bit Simulator
    • Pipeline Schema taken from Patterson's 'Computer Organization and Design: RISC-V Edition' and enhanced
    • Visualize every Architectural Element and the Data and Control paths
    • Execute with or without the Forwarding and the Delay Slot
    • Keep track of the execution in the Pipeline
      • Instruction Memory | Data Memory | Registers
    • Pipeline Table to show the execution trace
    • Console to interact with the execution through implemented syscalls
  • Supported instructions are the full RV64I Base Instruction Set (excluding: fence) and RV64M Standard Multiplication Extension
    • List of supported instruction with small descriptions of the underlying function visible on click
    • RISC-V Assembly small examples available

Local Installation

You can install WebRISC-V on a local server. The reference Installation has been done on the Linux distro Ubuntu 18.04 LTS (it works also on the Ubuntu WSL in Windows 10).

Option 1: Apache

  • To install the web-server Apache with the PHP interpreter issue the following commands:
  sudo apt -y update
  sudo apt -y install apache2 php libapache2-mod-php
  sudo apt -y install php-gmp
  sudo ufw allow "Apache"           (ufw may fail if you don't have ufw... just ignore it)
  sudo systemctl status apache2

  --> you should see something like:
    apache2.service - The Apache HTTP Server
    Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
    Drop-In: /lib/systemd/system/apache2.service.d
    Active: active (running) since Tue 2019-05-15 10:12:29 UTC; 1min ago
    Main PID: 4867 (apache2)
    Tasks: 52 (limit: 1101)
    CGroup: /system.slice/apache2.service
          ├─4868 /usr/sbin/apache2 -k start
          ├─4869 /usr/sbin/apache2 -k start
          └─4870 /usr/sbin/apache2 -k start
  • To install the WebRISC-V software:
  wget -O
  sudo rm /var/www/html/*
  sudo mv WebRISC-V-master/www/* /var/www/html/

Option 2: Docker

  • To install docker and docker-compose issue the following commands:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg lsb-release
curl -fsSL | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli
sudo systemctl start docker
sudo systemctl enable docker
sudo curl -L "$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
  • To install the WebRISC-V docker container:
  wget -O
  cd WebRISC-V-master
  sudo docker-compose up -d --build


No releases published


No packages published