Ripes
RISC-V ecosystemRipes is a graphical computer architecture simulator by Morten Borup Petersen, written in C++ with Qt.
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.
curl -fsSL https://lyszt.net/install.sh | sh -s -- ripesThe command works on Linux and macOS. On Windows, download the file manually as described below.
You can also download Ripes yourself: choose your operating system in the download dialog and get the file from the official GitHub releases.
| Method | Requirements | How |
|---|---|---|
| Release binaries | Open the releases page | |
| In the browser | ripes.dk | |
| Build from source |
| 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.
