(no commit message)
[libreriscv.git] / 3d_gpu / architecture / decoder.mdwn
index 576931bc1043d46751f8507f52914f4f65a14ef4..f6da6e5380baf022dfe94db70f75f76c0f266477 100644 (file)
@@ -1,5 +1,7 @@
 # Decoder
 
+<http://bugs.libre-riscv.org/show_bug.cgi?id=186>
+
 The decoder is in charge of translating the RISCV or POWER instruction stream into operations that can be handled by our backend. It will have an extra input bit, set via a MSR that will switch which architecture it treats an instruction as.
 
 Source code: <https://git.libre-riscv.org/?p=soc.git;a=tree;f=src/soc/decoder;hb=HEAD>
@@ -8,7 +10,7 @@ Source code: <https://git.libre-riscv.org/?p=soc.git;a=tree;f=src/soc/decoder;hb
 
 The decoder has been written in python, to parse straight CSV files and other information taken directly from the Power ISA Standards PDF files. This significantly reduces the possibility of manual transcription errors and greatly reduces code size.  Based on Anton Blanchard's excellent microwatt design, these tables are in [[openpower/isatables]] which includes links to doenload the csv files.
 
-The top level decoder object recursively drops through progressive levels of case statement groups, covering additional portions of the incoming instruction bits.  More on this is outlined here <http://lists.libre-riscv.org/pipermail/libre-riscv-dev/2020-March/004882.html>
+The top level decoder object recursively drops through progressive levels of case statement groups, covering additional portions of the incoming instruction bits.  More on this technique - for which python and nmigen were *specifically* and strategically chosen - is outlined here <http://lists.libre-riscv.org/pipermail/libre-riscv-dev/2020-March/004882.html>
 
 ## Fixed point instructions
 
@@ -22,3 +24,6 @@ The top level decoder object recursively drops through progressive levels of cas
 
 
 # RISCV
+
+To save time, using minerva will help enormously
+<https://github.com/lambdaconcept/minerva>