|
Simo 0.0.1
|
Simulation of computer architectures is hard. Harnessing the underlying infrastructure must be easy.
Simo is a C++ library that allows to simulate computer systems. It uses a discrete-event system where a cycle-based approach is encouraged. This library has been created after years of experience with computer systems simulators (both in research and in industry) and it tries to create something that it is missing: a simple, easy to use library that does what you need.
GitHub Pages stores Doxygen documentation and guides (Markdown files inside docs folder).
Assuming nix:
The build is going to be accessible in the result folder.
Clone Simo and initialize the submodules:
Build dependencies:
The build will produce libSimo (core library) and SimoSim (a general purpose executable to run simulations).
The nix flake simplifies the setup of the dependencies. With nix installed you can:
Look inside docs/guided_examples .
Simulators publicly available pretends to be easy to use, but in practice they are not. More information in docs.
Contributions are welcome. Contributions MUST be:
This can be achieved with:
Default compiler is clang. There is support for gcc build as well. With nix, use nix develop .#gcc to obtain a development environment that uses gcc as compiler.
You can see this guide on how to use nix binaries to build in CLion.