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
Copy file name to clipboardExpand all lines: arch/README.adoc
+60-41Lines changed: 60 additions & 41 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,10 +15,16 @@ A few challenging issues that arise include:
15
15
16
16
To tame this challenge, this specification generator takes the following approach:
17
17
18
-
* The generic architecture (in the `arch/` folder) is described in a way that covers all implementation options. As much as possible, the architecture is defined in a structured way that can be easily parsed using any programming language with a https://en.wikipedia.org/wiki/YAML[YAML] library. Complex behavior (_e.g._, instruction operation) and some configuration-dependent metadata is specified in an architecture definition language (xref:prose/idl.adoc[IDL]) that can formally define the architecture in arbitrary ways.
18
+
* The RVI standard architecture (in the `arch/` folder) is described in a way that covers all implementation options. As much as possible, the architecture is defined in a structured way that can be easily parsed using any programming language with a https://en.wikipedia.org/wiki/YAML[YAML] library. Complex behavior (_e.g._, instruction operation) and some configuration-dependent metadata is specified in an architecture definition language (xref:prose/idl.adoc[IDL]) that can formally define the architecture in arbitrary ways.
19
19
* An implementation of RISC-V is specified as a _configuration_ containing all unnamed parameters and list of named supported extensions (in the `cfgs/` folder).
20
20
* A tool, included in this repository, can generate an implmentation-specific specification by applying the configuration to the generic spec. Behaviors that are not relevant are left out, and behaviors that are affected by multiple extensions are merged into a single description.
21
21
22
+
Three standard configs are present:
23
+
24
+
* `_`: A completely _unconfigured_ configuration, i.e., where there are no restrictions and no known parameter values.
25
+
* `rv32`: A configuration where only `MXLEN` is known to be 32, i.e., the RV32 ISA.
26
+
* `rv64`: A configuration where only `MXLEN` is known to be 64, i.e., the RV64 ISA.
27
+
22
28
The architecture is specified in a series of https://en.wikipedia.org/wiki/YAML[YAML]
23
29
files for _Extensions_, _Instructions_, and _Control and Status Registers (CSRs)_.
24
30
Each extension/instruction/CSR has its own file.
@@ -27,48 +33,61 @@ Each extension/instruction/CSR has its own file.
0 commit comments