# Ripes
**Repository Path**: zdevt/Ripes
## Basic Information
- **Project Name**: Ripes
- **Description**: https://github.com/mortbopet/Ripes.git
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2023-11-25
- **Last Updated**: 2023-11-25
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Ripes
[](https://github.com/mortbopet/Ripes/actions/workflows/windows-release.yml)
[](https://github.com/mortbopet/Ripes/actions/workflows/mac-release.yml)
[](https://github.com/mortbopet/Ripes/actions/workflows/linux-release.yml)
[](https://github.com/mortbopet/Ripes/actions/workflows/wasm-release.yml)
[](https://gitter.im/Ripes-VSRTL/)
Ripes is a visual computer architecture simulator and assembly code editor built for the [RISC-V instruction set architecture](https://content.riscv.org/wp-content/uploads/2017/05/riscv-spec-v2.2.pdf).
**Experimental**: Try Ripes directly in your browser: [https://ripes.me/](https://ripes.me/)
If you enjoy using Ripes, or find it useful in teaching, feel free to leave a tip through [Ko-Fi](https://ko-fi.com/mortbopet).
For questions, comments, feature requests, or new ideas, don't hesitate to share these at the [discussions page](https://github.com/mortbopet/Ripes/discussions).
For bugs or issues, please report these at the [issues page](https://github.com/mortbopet/Ripes/issues).
## 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](docs/introduction.md).
For further information, please refer to the [Ripes documentation](docs/README.md).
## Downloading & Installation
Prebuilt binaries are available for Linux, Windows & Mac through the [Releases page](https://github.com/mortbopet/Ripes/releases).
### Linux
Releases for Linux are distributed in the AppImage format. To run an AppImage:
* Run `chmod a+x` on 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](https://www.microsoft.com/en-us/download/details.aspx?id=48145).
## Building
Initially, the following dependencies must be made available:
- A recent (>=6.5.0) version of [Qt](https://www.qt.io/download) + Qt Charts (**not** bundled with Qt by default, but can be selected during Qt installation)
- [CMake](https://cmake.org/)
- `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](https://doc.qt.io/qt-5/cmake-manual.html).
---
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](https://ieeexplore.ieee.org/document/9707149), 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}
}
```