You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Numerous enhancements:
* Added passes to detect which functions are reachable and which exceptions might occur in an AST
* Add landing page for cfg html doc
* Actually parsing CSR read/write functinos
* Add htimedelta and hcountern CSRs
* Only show the implemented functions in the cfg html docs
* Show which exceptions might be raised for each instruction in cfg html docs
* Add String types to IDL so that configuration parameter strings can be compared
* Improve IDL documentation
* Improved pruning
* Add gen_adoc for all AstNodes
* Add action to publich cfg_html example and YARD docs to GitHub pages
* find/replace links on the entire adoc document, rather than specific sections
* Completed refactoring to make AstNodes independent of SyntaxNodes
Copy file name to clipboardExpand all lines: README.adoc
+31-6Lines changed: 31 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,4 @@
1
-
# RISC-V Unified Database
1
+
=RISC-V Unified Database
2
2
3
3
The RISC-V Unified Database is intended to hold *all* the information needed to describe RISC-V,
4
4
including a list of extensions, instruction specifications, CSR specifications, and documentation prose. The vision is that anything one would need for RISC-V can be generated from the information in this repository.
@@ -11,7 +11,32 @@ This repository contains:
11
11
** [COMING SOON] A configuration-specific Instruction Set Simulator
12
12
** More backends are planned
13
13
14
-
## Prerequisites
14
+
== What can it do?
15
+
16
+
=== Working examples:
17
+
18
+
* Generate https://riscv-software-src.github.io/riscv-unified-db/html/index.html[configuration-specific documentation] taylored to the set of implemented extensions and unnamed implementation options (_e.g._, `./do gen:html[generic_rv64]`).
19
+
** Only implemented extensions/instructions/CSRs are included
20
+
** Unreachable/unimplmented parts of the formal specification are pruned away
21
+
** A dedicated documentation page for every implemented instruction, including its encoding, pruned execution behavior, and what types of exceptions it may cause.
22
+
** A dedication documentation page for every implemented CSR, including its (possibly runtime-changing) encoding, fields, and pruned behavior on reads and writes
23
+
** Clickable links to all mentions of instructions, extensions, CSRs, CSR fields, and glossary terms.
24
+
* Generate documentation for specific extensions (_e.g._, `./do gen:ext_pdf[B]`)
25
+
** Automatically include a complete list of added instructions and CSRs
26
+
** Per-instruction documentation
27
+
** Per-CSR documentation
28
+
** Formal specification
29
+
* Generate a single YAML file containing *everything* knowable about a configuration (_e.g._, `./do gen:cfg_arch[generic_rv64]`).
* Generate the full RISC-V specification, along with an appendix of instructions and CSRs
37
+
* ...
38
+
39
+
== Prerequisites
15
40
16
41
The only requirement is the `Singularity CE` or `Apptainer` container system. Either one will work (they are forks).
17
42
@@ -24,7 +49,7 @@ If it is not installed, either as your IT admin or:
24
49
You do *not* need root privileges to download or use the container. However, to modify/build the container,
25
50
you will need either root privileges or the ability to run in `fakeroot` mode. See https://docs.sylabs.io/guides/4.1/user-guide/fakeroot.html[Singularity Fakeroot Documentation] for more information.
26
51
27
-
## Setup
52
+
== Setup
28
53
29
54
Do once:
30
55
@@ -39,7 +64,7 @@ Do once:
39
64
[NOTE]
40
65
If you forget, don't worry. Setup will be invoked by any program in bin/ if necessary.
41
66
42
-
### VSCode
67
+
=== VSCode
43
68
44
69
If using Visual Studio Code and want to use development tools, you will need to restart the editor
45
70
after setup.
@@ -54,7 +79,7 @@ Helpful extensions are
54
79
The `.vscode/settings.json` file in the repo will ensure that Solargraph works without any additional
55
80
configuration (assuming you've already run ./bin/setup).
0 commit comments