Difference between revisions of "High level Simulation"
(High-level simulation and tools that supports it) |
|||
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 | |||
==Slides== | |||
[[Media:fsic-petrot.pdf|fsic-petrot.pdf]] | |||
==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. |
Revision as of 11:53, 12 March 2019
- Speaker(s): Frédéric Pétrot
- email: frederic.petrot@univ-grenoble-alpes.fr
Slides
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
- 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): 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.