# SimEng

The Simulation Engine (SimEng) is a framework for building modern cycle-accurate processor simulators. It aims to be:

- Fast
- Easy to use and modify to desired configurations
- Scalable, supporting simulation of simple scalar cores, up to superscalar out-of-order designs
- Capable of supporting a wide range of ISAs, starting with AArch64 but eventually including x86, RISC-V, POWER, etc.
- Open source, with a permissive license to enable collaboration across academia and industry

SimEng places an emphasis on performance and scalability, whilst maintaining a clean, modern, and well-documented code base.

## Getting started with SimEng

To get started with SimEng, please follow the instructions set out in our [User Documentation](https://uob-hpc.github.io/SimEng/user/index.html). This will cover how to download, build and run SimEng along with a brief overview on how it works.

If you are interested in developing further SimEng features, and are already familiar with the User Documentation please refer to our [Developer Documentation](https://uob-hpc.github.io/SimEng/developer/index.html). This offers further depth on how SimEng works and the reasoning behind design choices.
