This repository will contain a Sail description of the instruction et architecture (ISA) of Patmos.
It is currently a WiP, starting from RISCV sail model.
sail-patmos
|
+---- model // Sail specification modules
|
+---- generated_definitions // Files generated by Sail
| |
| +---- c
| +---- ocaml
| +---- lem
| +---- isabelle
| +---- coq
| +---- hol4
| +---- latex
|
+---- c_emulator // supporting platform files for C emulator (need to be updated)
+---- ocaml_emulator // supporting platform files for OCaml emulator (need to be updated)
|
+---- test // test files
|
The model contains the following Sail modules in the model directory:
-
prelude.sailcontains useful Sail library functions -
patmos_types.sailcontains some basic Patmos definitions -
patmos.sailcaptures the instruction definitions (a few currently) and their assembly language formats -
patmos_insts_[begin|end].sailcontains the declaration of scattered functions (decode, execute) -
patmos_step.sailcontains the fetch and execute functions used by SAIL -
patmos_main.sailguess what, the main function used by SAIL, calling functions from patmos_step.sail file -
more files will come in ...
Building simulators need to be checked later ...