Difference between revisions of "High level Simulation"

From F-Si wiki
Jump to navigation Jump to search
(High-level simulation and tools that supports it)
 
 
(2 intermediate revisions by one other user not shown)
Line 1: Line 1:
Simulation at levels higher than RTL has been around for about 25 years now, and ad-hoc internally developed solutions, even though still quite in used, are gently being replaced by more opened, system level simulation environments.
* Speaker(s): Frédéric Pétrot
* email: frederic.petrot@univ-grenoble-alpes.fr
* web: https://tima.imag.fr/sls/people/petrot/
 
==Downloads==
* [[:File:fsic-petrot.pdf|Slides]]
* [https://peertube.f-si.org/videos/watch/7072eda5-04f7-4816-87d2-53a8d892fc33 Video recording]
 
==Abstract==
Simulation at levels higher than RTL has been around for about 25 years now, and ad-hoc internally developed solutions, even though still quite in used, are gently being replaced by more opened, system level simulation environments. In this talk I will introduce system level simulation techniques, and give some details on two open-source digital system level environments: SoClib, a relatively confidential initiative targeting close to RTL descriptions, and QEMU, the very well known "processor emulator" (which is indeed a simulator).
 
==Software==
Disclaimer: Please note that I am '''not''' among the authors of these programs, and present them only because they are useful to my research and believe it could be useful to others.
===SoClib===
====General information====
* Repository: https://www.soclib.fr/svn/trunk/soclib
* Main documentation website: https://www.soclib.fr/
* Wikipedia page: None (yet!)
* Wiki page on wiki.f-si.org: None (yet!) either
* The software has been used in the following projects: SoClib, TSAR
* The software has been extensively used to teach classes at the hardware/software interface
====Roadmap====
* The software wishes to interface with the following tools: GHDL? GTKWave? QEMU?
* The project seeks help on:
** general project architecture and cleanup
** ISS support (through QEMU? or conversely)
** Testing infrastructure
** And ideas to speed-up simulation
*** Predecode in caches
*** Parallel simulation
*** ...
** New platforms
** New IPs
====References====
[https://www.soclib.fr/trac/dev/wiki/PapersAndPublications Papers by various authors of the SoClib environment]
===QEMU===
====General information====
* Repository: https://git.qemu.org/git/qemu.git
* Main documentation website: https://www.qemu.org/
* Wikipedia page: https://en.wikipedia.org/wiki/QEMU
* The software has been used in the following projects: The Android Emulator, and too many to name, and many we are not aware of!
* The software has been extensively used to teach classes in assembler level programming and operating system design and implementation
** for example (in French, sorry): [https://ensiwiki.ensimag.fr/index.php?title=Projet_de_Conception_de_Syst%C3%A8me_d%27exploitation_-_Approfondissement Projet de conception de système d'exploitation]
====Roadmap====
* On the hands on the QEMU community!
* But what could be useful to us:
** instrumentation infrastructure (many proposals, none made it to mainline yet)
** clean way to encapsulate a CPU
====References====
Fabrice Bellard. QEMU, a fast and portable dynamic translator. Proceedings of the USENIX Annual Technical Conference, 2005.

Latest revision as of 16:15, 16 July 2019

Downloads

Abstract

Simulation at levels higher than RTL has been around for about 25 years now, and ad-hoc internally developed solutions, even though still quite in used, are gently being replaced by more opened, system level simulation environments. In this talk I will introduce system level simulation techniques, and give some details on two open-source digital system level environments: SoClib, a relatively confidential initiative targeting close to RTL descriptions, and QEMU, the very well known "processor emulator" (which is indeed a simulator).

Software

Disclaimer: Please note that I am not among the authors of these programs, and present them only because they are useful to my research and believe it could be useful to others.

SoClib

General information

  • Repository: https://www.soclib.fr/svn/trunk/soclib
  • Main documentation website: https://www.soclib.fr/
  • Wikipedia page: None (yet!)
  • Wiki page on wiki.f-si.org: None (yet!) either
  • The software has been used in the following projects: SoClib, TSAR
  • The software has been extensively used to teach classes at the hardware/software interface

Roadmap

  • The software wishes to interface with the following tools: GHDL? GTKWave? QEMU?
  • The project seeks help on:
    • general project architecture and cleanup
    • ISS support (through QEMU? or conversely)
    • Testing infrastructure
    • And ideas to speed-up simulation
      • Predecode in caches
      • Parallel simulation
      • ...
    • New platforms
    • New IPs

References

Papers by various authors of the SoClib environment

QEMU

General information

Roadmap

  • On the hands on the QEMU community!
  • But what could be useful to us:
    • instrumentation infrastructure (many proposals, none made it to mainline yet)
    • clean way to encapsulate a CPU

References

Fabrice Bellard. QEMU, a fast and portable dynamic translator. Proceedings of the USENIX Annual Technical Conference, 2005.