aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorPrashanth Mundkur <prashanth.mundkur@gmail.com>2019-01-25 11:09:57 -0800
committerPrashanth Mundkur <prashanth.mundkur@gmail.com>2019-01-25 11:15:15 -0800
commit6aae2163fb13fc3f3ccd85c2304f20a4d1165b44 (patch)
treedc1af80f40aee65a5395937ed6c6da0f6b2df101 /doc
parentbfcabc089618fe6bfbd1a5dcc64626531abd2ba2 (diff)
downloadsail-riscv-6aae2163fb13fc3f3ccd85c2304f20a4d1165b44.zip
sail-riscv-6aae2163fb13fc3f3ccd85c2304f20a4d1165b44.tar.gz
sail-riscv-6aae2163fb13fc3f3ccd85c2304f20a4d1165b44.tar.bz2
Factor out each extension into separate files, do some minor cleanup.
Diffstat (limited to 'doc')
-rw-r--r--doc/ReadingGuide.md14
1 files changed, 8 insertions, 6 deletions
diff --git a/doc/ReadingGuide.md b/doc/ReadingGuide.md
index 1e851de..5e18ff3 100644
--- a/doc/ReadingGuide.md
+++ b/doc/ReadingGuide.md
@@ -53,12 +53,14 @@ The model contains the following Sail modules in the `model` directory:
and their various permission and status bits, the specification of
page-table walks, and the selection of the address translation mode.
-- `riscv.sail` captures the instruction definitions and their assembly
- language formats. Each instruction is represented as a variant
- clause of the `ast` type, and its execution semantics are
- represented as a clause of the `execute` function. `mapping` clauses
- specify the encoding and decoding of each instruction to and from
- assembly language formats.
+- Files matching `riscv_insts_*.sail` capture the instruction
+ definitions and their assembly language formats. Each file contains
+ the instructions for an extension, with `riscv_insts_base.sail` containing
+ the base integer instruction set. Each instruction is represented
+ as a variant clause of the `ast` type, and its execution semantics
+ are represented as a clause of the `execute` function. `mapping`
+ clauses specify the encoding and decoding of each instruction to and
+ from assembly language formats.
- `riscv_step.sail` implements the top-level fetch and execute loop.
The `fetch` is done in 16-bit granules to handle RVC instructions.