README 1.3 KB

1234567891011121314151617181920212223242526272829
  1. SimEng is a framework for building modern, cycle-accurate processor
  2. simulators. Its goals are to be:
  3. - Fast, typically 4-5X faster than gem5
  4. - Easy to use and modify to model desired microarchitecture
  5. configurations. New cores can be configured in just a few hours
  6. - Scalable, from simple scalar microarchitectures up to the most
  7. sophisticated, superscalar, out-of-order designs
  8. - Capable of supporting a wide range of instruction set
  9. architectures (ISAs), starting with Armv8 but eventually including
  10. RISC-V, x86, POWER, etc.
  11. - Accurate, aiming for simulated cycle times being within 5-10% of
  12. real hardware
  13. - Open source, with a permissive license to enable collaboration
  14. across academia and industry
  15. SimEng places an emphasis on performance and ease of use, whilst
  16. maintaining a clean, modern, simple and well-documented code base.
  17. For example, the current out-of-order (OoO) model is implemented
  18. in around 10,000 lines of simple C++, with another 9,000 lines or
  19. so implementing the specifics of the Armv8 ISA, and around 13,000
  20. lines of code in the accompanying test suite. SimEng should be
  21. simple to read and understand, making it ideal to modify to your
  22. requirements and include it in your projects.
  23. Invocation example:
  24. # simeng /usr/share/SimEng-0.9.4/configs/a64fx.yaml