Bug 1244: changes to description pospopcount
[libreriscv.git] / openpower / isatables.mdwn
index 523cd905895bc4c574b8f1b3f1d8dd208b822662..e9bde11f78b77df6826ddfb5834fb0d702b0bcc6 100644 (file)
@@ -1,8 +1,71 @@
 # ISA Reference Tables
 
-TODO
+These are from 3.0B p1145 Appendix C, and are
+based on Anton Blanchard's microwatt decode1.vhdl
 
-## Major opcodes
+# Major opcodes
 
-[[!table format=csv file="/openpower/isatables/major.csv"]]
+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" ]]
+```