bug 1048, ls011: Add Fixed Store Shifted Post-Update section
[libreriscv.git] / openpower / isatables.mdwn
index 226e612f6727ded48707ea3e2e87fd166d017224..e9bde11f78b77df6826ddfb5834fb0d702b0bcc6 100644 (file)
@@ -1,34 +1,71 @@
 # ISA Reference Tables
 
-TODO
-
-Based on Anton Blanchard's microwatt decode1.vhdl
+These are from 3.0B p1145 Appendix C, and are
+based on Anton Blanchard's microwatt decode1.vhdl
 
 # Major opcodes
 
+decodes using f_in.insn(31 downto 26)
+
 [[!table format=csv file="openpower/isatables/major.csv"]]
 
 # Minor opcode 19
 
+decodes using f_in.insn(5 downto 1)
+
+[[!table format=csv file="openpower/isatables/minor_19_00000.csv"]]
+
+decodes using f_in.insn(10 downto 1)
+
 [[!table format=csv file="openpower/isatables/minor_19.csv"]]
 
 # Minor opcode 30
 
+decodes using f_in.insn(4 downto 1)
+
 [[!table format=csv file="openpower/isatables/minor_30.csv"]]
 
 # Minor opcode 31
 
+decodes using f_in.insn(10 downto 1)
+
 [[!table format=csv file="openpower/isatables/minor_31.csv"]]
 
 # Minor opcode 58
 
+decodes using f_in.insn(1 downto 0)
+
 [[!table format=csv file="openpower/isatables/minor_58.csv"]]
 
 # Minor opcode 62
 
+decodes using f_in.insn(1 downto 0)
+
 [[!table format=csv file="openpower/isatables/minor_62.csv"]]
 
 # Extra opcodes
 
+These can match against the (full) row[0] spec: nmigen Case supports "-" as
+"don't care"
+
 [[!table format=csv file="openpower/isatables/extra.csv"]]
 
+# SPRs
+
+Special Purpose Registers.  These are listed in 3.0B Table 18 p971.
+
+[[!table format=csv file="openpower/isatables/sprs.csv"]]
+
+# Fields
+
+These are in machine-readable format that may be parsed with the
+following program:
+[power_fields.py](https://git.libre-soc.org/?p=openpower-isa.git;a=blob;f=src/openpower/decoder/power_fields.py;hb=HEAD)
+
+The table can be downloaded in plain text format here:
+[[openpower/isatables/fields.text]]
+
+```
+[[!inline pages="openpower/isatables/fields.text" raw="yes" ]]
+```
+