Ripes
A graphical processor simulator and assembly editor for the RISC-V ISA
Install / Use
/learn @mortbopet/RipesREADME
Ripes
Ripes is a visual computer architecture simulator and assembly code editor built for the RISC-V instruction set architecture.
Experimental: Try Ripes directly in your browser: https://ripes.me/
If you enjoy using Ripes, or find it useful in teaching, feel free to leave a tip through Ko-Fi.
For questions, comments, feature requests, or new ideas, don't hesitate to share these at the discussions page.
For bugs or issues, please report these at the issues page.
Usage
Ripes may be used to explore concepts such as:
- How machine code is executed on a variety of microarchitectures (RV32IMC/RV64IMC based)
- How different cache designs influence performance
- How C and assembly code is compiled and assembled to executable machine code
- How a processor interacts with memory-mapped I/O
If this is your first time using Ripes, please refer to the introduction/tutorial.
For further information, please refer to the Ripes documentation.
Downloading & Installation
Prebuilt binaries are available for Linux, Windows & Mac through the Releases page.
Linux
Releases for Linux are distributed in the AppImage format. To run an AppImage:
- Run
chmod a+xon the AppImage file - Run the file! The AppImage for Linux should be compatible with most Linux distributions.
Windows
For Windows, the C++ runtime library must be available (if not, a msvcp140.dll error will be produced). You most likely already have this installed, but if this is not the case, you download it here.
Building
Initially, the following dependencies must be made available:
- A recent (>=6.5.0) version of Qt + Qt Charts (not bundled with Qt by default, but can be selected during Qt installation)
- CMake
sudo apt-get install libegl1-mesa-dev
Then, Ripes can be checked out and built as a standard CMake project:
git clone --recursive https://github.com/mortbopet/Ripes.git
cd Ripes/
cmake .
Unix: Windows:
make jom.exe / nmake.exe / ...
Note, that you must have Qt available in your CMAKE_PREFIX_PATH. For further information on building Qt projects with CMake, refer to Qt: Build with CMake.
In papers and reports, please refer to Ripes as follows: 'Morten Borup Petersen. Ripes. https://github.com/mortbopet/Ripes' or by referring to the WCAE'21 paper on the project, e.g. using the following BibTeX code:
@MISC{Ripes,
author = {Morten Borup Petersen},
title = {Ripes},
howpublished = "\url{https://github.com/mortbopet/Ripes}"
}
@inproceedings{petersen2021ripes,
title={Ripes: A Visual Computer Architecture Simulator},
author={Petersen, Morten B},
booktitle={2021 ACM/IEEE Workshop on Computer Architecture Education (WCAE)},
pages={1--8},
year={2021},
organization={IEEE}
}
Related Skills
YC-Killer
2.7kA library of enterprise-grade AI agents designed to democratize artificial intelligence and provide free, open-source alternatives to overvalued Y Combinator startups. If you are excited about democratizing AI access & AI agents, please star ⭐️ this repository and use the link in the readme to join our open source AI research team.
flutter-tutor
Flutter Learning Tutor Guide You are a friendly computer science tutor specializing in Flutter development. Your role is to guide the student through learning Flutter step by step, not to provide d
groundhog
398Groundhog's primary purpose is to teach people how Cursor and all these other coding agents work under the hood. If you understand how these coding assistants work from first principles, then you can drive these tools harder (or perhaps make your own!).
last30days-skill
16.9kAI agent skill that researches any topic across Reddit, X, YouTube, HN, Polymarket, and the web - then synthesizes a grounded summary
