-
Notifications
You must be signed in to change notification settings - Fork 235
Description
This issue tries to capture some points discussed in recent meetings, as design constraints for the next version of the JSON bundle. The information below should be readily extractable without much (ideally, none) parsing of Sail syntax.
-
The JSON bundle is closely tied to the model; it would be good to have it be more ISA-centric.
-
Instruction encodings and assembly mappings, and the
whenconditions on when those encodings are legal. It would be good to easily extract which extensions that instruction belongs to, separately from the other conditions. -
The fields of CSR bitfields along with doc-comments for those fields. It would be good to also specify the reset values for the fields or the CSR bitfield as a whole.
-
The addresses and names of the actual CSR registers (with a mapping between the CSR register and the associated bitfield).
-
It would be good to differentiate different register types: integer, floating point, vector, CSRs.
-
It would be good to also easily extract which extensions these registers belong to, just as for instructions.
At a minimum, it should be possible to generate the encodings in riscv-opcodes and various encoding diagrams and tables in the manual.