Ripes
Awesome RISC-V

Ripes

RISC-V ecosystem

Ripes is a graphical computer architecture simulator by Morten Borup Petersen, written in C++ with Qt.

You can download Ripes on LYSZT.

How to install Ripes

One line installs Ripes on your machine. The installer fetches the latest release from GitHub, selects the file that matches your operating system and architecture, checks its sha256 checksum, and installs it in your home directory. It does not need administrator rights.

Install from the terminal
curl -fsSL https://lyszt.net/install.sh | sh -s -- ripes

The command works on Linux and macOS. On Windows, download the file manually as described below.

Manual download

You can also download Ripes yourself: choose your operating system in the download dialog and get the file from the official GitHub releases.

From the official documentation
MethodRequirementsHow
Release binariesOpen the releases page
In the browserripes.dk
Build from source
  • Qt >= 6.5.0 + Qt Charts
  • CMake
  • libegl1-mesa-dev (Linux)
git clone --recursive https://github.com/mortbopet/Ripes.gitcd Ripes/cmake .make

Overview

Ripes is a graphical RISC-V simulator. A simulator is a program that imitates a processor. Ripes draws the processor's datapath, the diagram of wires, registers and units that data travels through, and highlights it as instructions move along.

Ripes includes several processor models. The simplest finishes an instruction before starting the next. The pipelined models split execution into stages, such as fetching an instruction from memory, decoding it and executing it, and keep several instructions in progress at once, one per stage. The pipeline view shows hazards, the cases where an instruction needs a result that an earlier instruction has not produced yet, and how the processor waits or forwards data to resolve them.

Ripes also simulates caches, small fast memories that keep recently used data close to the processor, and devices such as LEDs and switches that a program controls by reading and writing memory addresses.

History

Morten Borup Petersen started Ripes in 2017 and still maintains it. The project was presented at the 2021 Workshop on Computer Architecture Education in the paper "Ripes: A Visual Computer Architecture Simulator".

Ripes is written in C++ with the Qt framework and released under the MIT license. Builds exist for Linux, Windows and macOS, and a WebAssembly build runs the same program inside a browser at ripes.dk.

Where it is used

Ripes suits computer architecture courses, where students study how a processor executes code. With a RISC-V compiler installed, it also compiles C programs, so a student can compare a line of C with the machine code the compiler produces for it.

Sources

  1. Ripes README
  2. Ripes: A Visual Computer Architecture Simulator, WCAE 2021