add README in ISA sim directory
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Sat, 30 Jul 2022 19:35:58 +0000 (20:35 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Sat, 30 Jul 2022 19:36:08 +0000 (20:36 +0100)
src/openpower/decoder/isa/README.txt [new file with mode: 0644]

diff --git a/src/openpower/decoder/isa/README.txt b/src/openpower/decoder/isa/README.txt
new file mode 100644 (file)
index 0000000..a58cdfa
--- /dev/null
@@ -0,0 +1,39 @@
+Power ISA Simulator in python
+---------
+
+This simulator is not in the least bit designed for performance, it is
+designed for understandability of the Power ISA Specification. It uses
+compiler technology and the pseudocode and tables from the actual PDF
+(v3.0B initially) and has made it executable.
+
+A class called SelectableInt makes it possible to access numbers in MSB0
+order due to the Power ISA Spec being MSB0 order.
+
+A RADIX MMU based on Microwatt and gem5-experimental is available.
+
+There are thousands of unit tests in this subdirectory (and many more
+in openpower/tests).
+
+Boris Shingarov has created a Power ISA Formal Correctness Proof using
+the machine-readable spec and the compiler.
+
+A "co-execution" Test API is available which allows single-stepping and
+extraction of memory and registers for comparison. Qemu and HDL is supported.
+
+Some unit tests also have "Expected Results" and the rest will be converted
+over time.
+
+In conclusion this Simulator's purpose is for validation and correctness
+rather than high performance.
+
+The main simulator class is ISACaller.  Compiling the psedudocode is done
+with the command "pywriter" and the helper routines (extracted from the
+Power ISA Appendices) with "pyfnwriter".
+
+Unit tests are both stand-alone executable as well as automatically
+picked up by "nosetests3".  Most but not all of the unit tests are for
+SVP64 in this subdirectory: see test_caller.py for Standard Scalar Power
+ISA 3.0 which picks up tests from openpower/tests
+
+Also of interest is pypowersim which is a standalone Power ISA bare metal
+simulator.  More details at https://libre-soc.org/docs/pypowersim