Skip to content

Commit 992a0cf

Browse files
fix: removed the tags from descriptions
1 parent 7ae166e commit 992a0cf

File tree

148 files changed

+1413
-2435
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

148 files changed

+1413
-2435
lines changed

spec/custom/non_isa/preface_demo.yaml

Lines changed: 53 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,12 @@ name: preface
88
long_name: Preface (Demo)
99
version: 1.0.0
1010
ratification_date: "2025-08-08"
11-
description:
12-
- id: spec-preface-overview
13-
normative: false
14-
text: |
15-
This Programmer's Reference Manual (PRM) provides comprehensive documentation for a generic RISC-V processor implementation. It is intended for system designers, integrators, verification engineers, and software developers working with RISC-V-based systems.
11+
description: |
12+
This Programmer's Reference Manual (PRM) provides comprehensive documentation for a generic RISC-V processor implementation. It is intended for system designers, integrators, verification engineers, and software developers working with RISC-V-based systems.
1613
17-
The manual covers the processor architecture, instruction set, control and status registers, memory management, debug and trace features, and other essential aspects. It aims to clarify both standard RISC-V features and implementation-defined options, supporting robust and portable software development.
14+
The manual covers the processor architecture, instruction set, control and status registers, memory management, debug and trace features, and other essential aspects. It aims to clarify both standard RISC-V features and implementation-defined options, supporting robust and portable software development.
1815
19-
This document is suitable for public distribution and does not contain proprietary or vendor-specific content. All examples and descriptions are generic and based on open RISC-V standards.
16+
This document is suitable for public distribution and does not contain proprietary or vendor-specific content. All examples and descriptions are generic and based on open RISC-V standards.
2017
authors:
2118
- name: RISC-V Community
2219
organization:
@@ -28,85 +25,65 @@ license:
2825
url: https://spdx.org/licenses/CC0-1.0.html
2926
sections:
3027
- title: About This Manual
31-
content:
32-
- id: sec-preface-about
33-
normative: false
34-
text: |
35-
This manual is organized to guide users through the essential features of a RISC-V processor. It begins with an overview of the architecture and programming model, followed by chapters on the instruction set, privilege levels, memory subsystem, and system integration topics. Each chapter provides references to the official RISC-V specifications and highlights implementation-defined aspects where relevant.
28+
content: |
29+
This manual is organized to guide users through the essential features of a RISC-V processor. It begins with an overview of the architecture and programming model, followed by chapters on the instruction set, privilege levels, memory subsystem, and system integration topics. Each chapter provides references to the official RISC-V specifications and highlights implementation-defined aspects where relevant.
3630
37-
The manual is designed to be accessible to both new and experienced users, with clear explanations, diagrams, and practical examples. It emphasizes portability, compliance with RISC-V standards, and best practices for system design and software development.
31+
The manual is designed to be accessible to both new and experienced users, with clear explanations, diagrams, and practical examples. It emphasizes portability, compliance with RISC-V standards, and best practices for system design and software development.
3832
- title: Audience
39-
content:
40-
- id: sec-preface-audience
41-
normative: false
42-
text: |
43-
This document is intended for:
33+
content: |
34+
This document is intended for:
4435
45-
* System architects and designers
46-
* Hardware and software engineers
47-
* Verification and validation teams
48-
* Technical writers and educators
36+
* System architects and designers
37+
* Hardware and software engineers
38+
* Verification and validation teams
39+
* Technical writers and educators
4940
50-
The manual assumes a basic familiarity with computer architecture and programming concepts, but provides background information and references for further study.
51-
- id: sec-preface-audience-conditional
52-
normative: false
53-
text: |
54-
This section is only included for educational distributions.
55-
when(): "distribution_type == 'educational'"
41+
The manual assumes a basic familiarity with computer architecture and programming concepts, but provides background information and references for further study.
42+
43+
This section is only included for educational distributions.
44+
when(): "distribution_type == 'educational'"
5645
- title: Notation and Conventions
57-
content:
58-
- id: sec-preface-notation
59-
normative: false
60-
text: |
61-
The following conventions are used throughout this manual:
46+
content: |
47+
The following conventions are used throughout this manual:
6248
63-
* Register and field names are shown in `monospace` font.
64-
* Bit values are indicated as 0 (read-only zero) or 1 (read-only one).
65-
* References to RISC-V specifications are provided for standard features.
66-
* Implementation-defined options are clearly marked and explained.
49+
* Register and field names are shown in `monospace` font.
50+
* Bit values are indicated as 0 (read-only zero) or 1 (read-only one).
51+
* References to RISC-V specifications are provided for standard features.
52+
* Implementation-defined options are clearly marked and explained.
6753
- title: Document Organization
68-
content:
69-
- id: sec-preface-organization
70-
normative: false
71-
text: |
72-
Chapters include:
54+
content: |
55+
Chapters include:
7356
74-
* Architecture Overview
75-
* Instruction Set Architecture
76-
* Privileged Architecture
77-
* Interrupts and Exceptions
78-
* Memory Subsystem
79-
* Memory Management
80-
* Reliability, Availability, and Serviceability (RAS)
81-
* Floating Point Unit
82-
* Debug and Trace
83-
* Triggers and Watchpoints
84-
* Power Management
85-
* Performance Monitoring
86-
* Timers and Watchdog
87-
* Security Features
88-
* Control and Status Registers
89-
* Build and Configuration Options
90-
* Acronyms and Definitions
91-
* References
57+
* Architecture Overview
58+
* Instruction Set Architecture
59+
* Privileged Architecture
60+
* Interrupts and Exceptions
61+
* Memory Subsystem
62+
* Memory Management
63+
* Reliability, Availability, and Serviceability (RAS)
64+
* Floating Point Unit
65+
* Debug and Trace
66+
* Triggers and Watchpoints
67+
* Power Management
68+
* Performance Monitoring
69+
* Timers and Watchdog
70+
* Security Features
71+
* Control and Status Registers
72+
* Build and Configuration Options
73+
* Acronyms and Definitions
74+
* References
9275
93-
Each chapter is self-contained and provides links to related topics and external resources.
76+
Each chapter is self-contained and provides links to related topics and external resources.
9477
- title: Web Resources
95-
content:
96-
- id: sec-preface-web
97-
normative: true
98-
text: |
99-
For more information on RISC-V standards and open-source resources, visit:
78+
content: |
79+
For more information on RISC-V standards and open-source resources, visit:
10080
101-
* https://riscv.org
102-
* https://github.com/riscv/riscv-isa-manual
103-
* https://github.com/riscv/riscv-debug-spec
104-
* https://github.com/riscv-software-src
81+
* https://riscv.org
82+
* https://github.com/riscv/riscv-isa-manual
83+
* https://github.com/riscv/riscv-debug-spec
84+
* https://github.com/riscv-software-src
10585
106-
Community forums, mailing lists, and technical documentation are available to support developers and users worldwide.
86+
Community forums, mailing lists, and technical documentation are available to support developers and users worldwide.
10787
- title: Revision History
108-
content:
109-
- id: sec-preface-history
110-
normative: true
111-
text: |
112-
Version 1.0.0 (2025-08-08): Initial public release of the demo Programmer's Reference Manual for RISC-V processors.
88+
content: |
89+
Version 1.0.0 (2025-08-08): Initial public release of the demo Programmer's Reference Manual for RISC-V processors.

spec/std/isa/csr/F/fflags.yaml

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,22 +9,16 @@ name: fflags
99
long_name: Floating-Point Accrued Exceptions
1010
address: 0x001
1111
writable: true
12-
description:
13-
- id: csr-fflags-purpose
14-
normative: true
15-
text: |
16-
The accrued exception flags indicate the exception conditions that have arisen on any floating-point arithmetic
17-
instruction since the field was last reset by software.
18-
- id: csr-fflags-fptrap
19-
normative: false
20-
text: The base RISC-V ISA does not support generating a trap on the setting of a floating-point exception flag.
21-
- id: csr-fflags-reasoning
22-
normative: false
23-
text: |
24-
As allowed by the standard, we do not support traps on floating-point exceptions in the F
25-
extension, but instead require explicit checks of the flags in software. We considered
26-
adding branches controlled directly by the contents of the floating-point accrued
27-
exception flags, but ultimately chose to omit these instructions to keep the ISA simple.
12+
description: |
13+
The accrued exception flags indicate the exception conditions that have arisen on any floating-point arithmetic
14+
instruction since the field was last reset by software.
15+
16+
The base RISC-V ISA does not support generating a trap on the setting of a floating-point exception flag.
17+
18+
As allowed by the standard, we do not support traps on floating-point exceptions in the F
19+
extension, but instead require explicit checks of the flags in software. We considered
20+
adding branches controlled directly by the contents of the floating-point accrued
21+
exception flags, but ultimately chose to omit these instructions to keep the ISA simple.
2822
2923
priv_mode: U
3024
length: 32

spec/std/isa/csr/F/frm.yaml

Lines changed: 25 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -9,39 +9,32 @@ name: frm
99
long_name: Floating-Point Dynamic Rounding Mode
1010
address: 0x002
1111
writable: true
12-
description:
13-
- id: csr-frm-encodings
14-
normative: false
15-
text: |
16-
Rounding modes are encoded as follows:
12+
description: |
13+
Rounding modes are encoded as follows:
1714
18-
[[rm]]
19-
.Rounding mode encoding.
20-
[%autowidth,float="center",align="center",cols="^,^,<",options="header"]
21-
!===
22-
!Rounding Mode |Mnemonic |Meaning
23-
!000 !RNE !Round to Nearest, ties to Even
24-
!001 !RTZ !Round towards Zero
25-
!010 !RDN !Round Down (towards latexmath:[$-\infty$])
26-
!011 !RUP !Round Up (towards latexmath:[$+\infty$])
27-
!100 !RMM !Round to Nearest, ties to Max Magnitude
28-
!101 ! !_Reserved for future use._
29-
!110 ! !_Reserved for future use._
30-
!111 !DYN !In instruction's _rm_ field, selects dynamic rounding mode; In Rounding Mode register, _reserved_.
31-
!===
32-
- id: csr-frm-reserved
33-
normative: false
34-
text: |
35-
The behavior of floating-point instructions that depend on rounding mode when
36-
executed with a reserved rounding mode is _reserved_, including both static
37-
reserved rounding modes (101-110) and dynamic reserved rounding modes (101-111).
38-
- id: csr-frm-rmfield
39-
normative: false
40-
text: |
41-
Some instructions, including widening conversions, have the _rm_ field but are
42-
nevertheless mathematically unaffected by the rounding mode; software should set
43-
their _rm_ field to RNE (000) but implementations must treat the _rm_ field as
44-
usual (in particular, with regard to decoding legal vs. reserved encodings).
15+
[[rm]]
16+
.Rounding mode encoding.
17+
[%autowidth,float="center",align="center",cols="^,^,<",options="header"]
18+
!===
19+
!Rounding Mode |Mnemonic |Meaning
20+
!000 !RNE !Round to Nearest, ties to Even
21+
!001 !RTZ !Round towards Zero
22+
!010 !RDN !Round Down (towards latexmath:[$-\infty$])
23+
!011 !RUP !Round Up (towards latexmath:[$+\infty$])
24+
!100 !RMM !Round to Nearest, ties to Max Magnitude
25+
!101 ! !_Reserved for future use._
26+
!110 ! !_Reserved for future use._
27+
!111 !DYN !In instruction's _rm_ field, selects dynamic rounding mode; In Rounding Mode register, _reserved_.
28+
!===
29+
30+
The behavior of floating-point instructions that depend on rounding mode when
31+
executed with a reserved rounding mode is _reserved_, including both static
32+
reserved rounding modes (101-110) and dynamic reserved rounding modes (101-111).
33+
34+
Some instructions, including widening conversions, have the _rm_ field but are
35+
nevertheless mathematically unaffected by the rounding mode; software should set
36+
their _rm_ field to RNE (000) but implementations must treat the _rm_ field as
37+
usual (in particular, with regard to decoding legal vs. reserved encodings).
4538
4639
priv_mode: U
4740
length: 32

spec/std/isa/csr/Smcsrind/mireg.yaml

Lines changed: 24 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -11,51 +11,36 @@ writable: true
1111
priv_mode: M
1212
length: MXLEN
1313
definedBy: Smcsrind
14-
description:
15-
- id: csr-mireg-purpose
16-
normative: true
17-
text: |
18-
The mireg machine indirect alias CSR is used to access another CSR's state
19-
indirectly upon a read or write, as determined by the value of miselect.
20-
- id: csr-mireg-unimplemented-miselect
21-
normative: true
22-
text: |
23-
The behavior upon accessing mireg from M-mode, while miselect holds a value
24-
that is not implemented, is UNSPECIFIED.
25-
- id: csr-mireg-unimplemented-miselect-note
26-
normative: false
27-
text: |
28-
It is expected that implementations will typically raise an illegal instruction exception for
29-
such accesses, so that, for example, they can be identified as software bugs. Platform
30-
specs, profile specs, and/or the Privileged ISA spec may place more restrictions on
31-
behavior for such accesses.
32-
- id: csr-mireg-implemented-miselect
33-
normative: true
34-
text: |
35-
Attempts to access mireg while miselect holds a number in an allocated and implemented range
36-
results in a specific behavior that, for each combination of miselect and mireg, is defined by the
37-
extension to which the miselect value is allocated.
38-
- id: csr-mireg-implemented-miselect-note
39-
normative: false
40-
text: |
41-
Ordinarily, mireg will access register state, access read-only 0 state, or raise an
42-
illegal instruction exception.
43-
- id: csr-mireg-rv32-64bit-access
44-
normative: false
45-
text: |
46-
For RV32, if an extension defines an indirectly accessed register as 64 bits wide, it is
47-
recommended that the lower 32 bits of the register are accessed through mireg,
48-
while the upper 32 bits are accessed through mireg4.
14+
description: |
15+
The mireg machine indirect alias CSR is used to access another CSR's state
16+
indirectly upon a read or write, as determined by the value of miselect.
17+
18+
The behavior upon accessing mireg from M-mode, while miselect holds a value
19+
that is not implemented, is UNSPECIFIED.
20+
21+
It is expected that implementations will typically raise an illegal instruction exception for
22+
such accesses, so that, for example, they can be identified as software bugs. Platform
23+
specs, profile specs, and/or the Privileged ISA spec may place more restrictions on
24+
behavior for such accesses.
25+
26+
Attempts to access mireg while miselect holds a number in an allocated and implemented range
27+
results in a specific behavior that, for each combination of miselect and mireg, is defined by the
28+
extension to which the miselect value is allocated.
29+
30+
Ordinarily, mireg will access register state, access read-only 0 state, or raise an
31+
illegal instruction exception.
32+
33+
For RV32, if an extension defines an indirectly accessed register as 64 bits wide, it is
34+
recommended that the lower 32 bits of the register are accessed through mireg,
35+
while the upper 32 bits are accessed through mireg4.
4936
fields:
5037
VALUE:
5138
long_name: Indirectly Selected Register Value
5239
location_rv32: 31-0
5340
location_rv64: 63-0
5441
type: RW
55-
description:
56-
- id: csr-mireg-value-purpose
57-
normative: true
58-
text: Register state of the CSR selected by the current `miselect` value
42+
description: |
43+
Register state of the CSR selected by the current `miselect` value
5944
reset_value: UNDEFINED_LEGAL
6045
sw_write(csr_value): |
6146
Csr handle = indirect_csr_lookup(CSR[miselect].VALUE, 1);

0 commit comments

Comments
 (0)