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
@@ -40,21 +40,23 @@ The scope of project is similar to CV32E40P. It consists of design enhancements,
40
40
41
41
Software compiler support will be handled in related OpenHW projects, not yet defined. However, apart for some custom CSRs, no custom instructions will be added and as such software compiler support is expected to be minimal (if not zero).
42
42
43
+
Support for the (not-yet-ratified) Zce extension would be very welcome from the Software TG, but this PPL/PL does not assume that this will happen.
44
+
43
45
As of yet any plans to develop OpenHW hardware reference designs such as FPGA or SoC have not been defined.
44
46
45
47
#### Component 1 - RTL design
46
48
47
49
The following design aspects of the project are required:
@@ -70,7 +72,7 @@ The following design aspects of the project are required:
70
72
71
73
The verification approach is based on that developed for the CV32E40P.
72
74
73
-
The same verification approach as for the CV32E40P will be used (UVM, lock step ISS, formal techniques, random code generation, etc.) with the major improvement being a bound RVFI interface to ease the integration of the core with the verification environment (the RVVI->RVFI scoreboard/adapter is outside the scope of this project).
75
+
A similar verification approach as for the CV32E40P will be used (UVM, lock step ISS, formal techniques, random code generation, etc.) with the major improvement being a bound RVFI interface to the RTL and an RVVI interface towards the ISS to ease the integration of the core with the verification environment (the RVFI->RVVI scoreboard/adapter is outside the scope of this project). The Imperas ISS will be extended with the new (software visible) features once ratified or deemed stable enough (e.g. User mode, ePMP, Zce, bus error support).
74
76
75
77
#### Component 3 - Documentation
76
78
See "Project Documents" section
@@ -115,16 +117,16 @@ CV32E40S key features
115
117
* OBI
116
118
117
119
Security features (Xsecure)
118
-
* Security alert outputs
119
-
* Data independent timing
120
-
* Dummy instruction insertion
121
-
* Register file ECC
122
-
* Hardened PC
123
-
* Hardened CSRs
124
-
* Control flow hardening
125
-
* Functional unit hardening
126
-
* Bus interface hardening
127
-
* Reduction of profiling infrastructure
120
+
* Security alert outputs (Minor and major alert pins that hardware can use e.g. to trigger reset or erase. See https://ibex-core.readthedocs.io/en/latest/03_reference/security.html)
121
+
* Data independent timing (Branches and div/divu/rem/remu will be made fixed latency. See https://ibex-core.readthedocs.io/en/latest/03_reference/security.html)
122
+
* Dummy instruction insertion (Randomly insert dummy instructions without functional impact to disrupt timing and power profiles. See https://ibex-core.readthedocs.io/en/latest/03_reference/security.html)
123
+
* Register file ECC (Add checksum or parity to register file words to detect (not correct) certain errors. See https://ibex-core.readthedocs.io/en/latest/03_reference/security.html)
124
+
* Hardened PC (Check that PC increments as expected for sequential code. See https://ibex-core.readthedocs.io/en/latest/03_reference/security.html)
125
+
* Hardened CSRs (Add shadow registers for critical CSRs to detect certain glitch attacks. See https://ibex-core.readthedocs.io/en/latest/03_reference/security.html)
126
+
* Control flow hardening (Sanity check that branches are (not) taken as they should)
127
+
* Functional unit and FSM hardening (Encode critical signals and FSM state such that certain glitch attacks can be detected)
128
+
* Bus interface hardening (Check that bus protocol is not violated)
129
+
* Reduction of profiling infrastructure (Prevent User mode from seeing Machine mode statistics)
128
130
* Etc.
129
131
130
132
Code size reduction extension (Zce) (see https://lists.riscv.org/g/tech-code-size/ for details)
@@ -179,7 +181,8 @@ Zce, ePMP, 0.14 Debug specifications have not been ratified yet by RISC-V. Will
179
181
## List of project outputs
180
182
181
183
* Verified RTL
182
-
* Verification environment including test cases
184
+
* Verification environment including test cases
185
+
* Instruction Set Simulator (ISS)
183
186
* Documentation (See Project Documents)
184
187
185
188
## TGs Impacted/Resource requirements
@@ -196,16 +199,17 @@ Resource requirements covered within Silicon Labs.
196
199
197
200
## Engineering resource supplied by members - requirement and availability
198
201
199
-
Silicon Labs
200
-
201
-
Arjan Bink (architecture)
202
-
Oivind Ekelund (TPL, PM)
203
-
Oystein (design)
204
-
Halfdan (design)
205
-
Steve (verification architecture)
206
-
Marton Teilgard (verification)
207
-
Robin (verification)
208
-
Henrik (verification)
202
+
* Silicon Labs
203
+
* Arjan Bink (architecture)
204
+
* Oivind Ekelund (TPL, PM)
205
+
* Oystein (design)
206
+
* Halfdan (design)
207
+
* Steve (verification architecture)
208
+
* Marton Teilgard (verification)
209
+
* Robin (verification)
210
+
* Henrik (verification)
211
+
* Imperas
212
+
* (names to be provided)
209
213
210
214
Approving commits within https://github.com/openhwgroup/core-v-verif/tree/*/cv32e40s can be done by Steve Richmond, Mike Thompson, Oystein Knauserud or Arjan Bink. Marton Teilgard will be added to this list as soon as he can be elected as committer. Approving commits outside of cv32e40s can be done by Steve Richmond or Mike Thompson.
Copy file name to clipboardExpand all lines: program/CV32E40X-PPL.md
+27-18Lines changed: 27 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -38,17 +38,19 @@ The scope of project is similar to CV32E40P. It consists of design enhancements,
38
38
39
39
Software compiler support will be handled in related OpenHW projects, not yet defined. No custom instructions will be added and as such software compiler support is expected to be minimal (if not zero). Tool chain support is however required for the deliverable in which we will show how an example instruction can be added in an accelerator connected to the extension interface; this example will also describe and provide the related modifications to assembler/disassembler, etc.
40
40
41
+
Support for the (not-yet-ratified) Zce extension would be very welcome from the Software TG, but this PPL/PL does not assume that this will happen.
42
+
41
43
As of yet any plans to develop OpenHW hardware reference designs such as FPGA or SoC have not been defined.
42
44
43
45
#### Component 1 - RTL design
44
46
45
47
The following design aspects of the project are required:
46
48
47
-
* PMA
49
+
* PMA (configurable number of regions)
48
50
* Zce extension
49
51
* A extension
50
-
* B extension
51
-
* P extension
52
+
* B extension (configurable all or nothing)
53
+
* P extension (configurable all or nothing)
52
54
* X interface
53
55
* Extended debug functionality
54
56
* Simplified pipeline and controller
@@ -67,7 +69,7 @@ The following design aspects of the project are required:
67
69
68
70
The verification approach is based on that developed for the CV32E40P.
69
71
70
-
The same verification approach as for the CV32E40P will be used (UVM, lock step ISS, formal techniques, random code generation, etc.) with the major improvement being a bound RVFI interface to ease the integration of the core with the verification environment (the RVVI->RVFI scoreboard/adapter is outside the scope of this project).
72
+
A similar verification approach as for the CV32E40P will be used (UVM, lock step ISS, formal techniques, random code generation, etc.) with the major improvement being a bound RVFI interface to the RTL and an RVVI interface towards the ISS to ease the integration of the core with the verification environment (the RVFI->RVVI scoreboard/adapter is outside the scope of this project). The Imperas ISS will be extended with the new (software visible) features once ratified or deemed stable enough (e.g. User mode, ePMP, Zce, bus error support).
71
73
72
74
#### Component 3 - Documentation
73
75
See "Project Documents" section
@@ -142,8 +144,8 @@ Simplified pipeline and controller
142
144
Performance, area and power optimizations
143
145
* Smarter prefetch
144
146
* Register file optimization (if P, B excluded)
145
-
* Remove 2nd registerfile write port
146
-
* Remove 3rd read port
147
+
* Remove 2nd registerfile write port
148
+
* Remove 3rd read port
147
149
* Faster divide
148
150
* Faster (mulh*) multiply
149
151
* ALU/MUL clean up
@@ -175,6 +177,11 @@ Zce, P, B, 0.14 Debug specifications have not been ratified yet by RISC-V. Will
175
177
176
178
## List of project outputs
177
179
180
+
* Verified RTL
181
+
* Verification environment including test cases
182
+
* Instruction Set Simulator (ISS)
183
+
* Documentation (See Project Documents)
184
+
178
185
## TGs Impacted/Resource requirements
179
186
180
187
Cores TG, Verification TG, Software TG. Resource requirements covered within Silicon Labs and Embecosm.
@@ -188,18 +195,20 @@ Cores TG, Verification TG, Software TG. Resource requirements covered within Sil
188
195
189
196
## Engineering resource supplied by members - requirement and availability
190
197
191
-
Silicon Labs
192
-
193
-
Arjan Bink (architecture)
194
-
Oivind Ekelund (TPL, PM)
195
-
Oystein (design)
196
-
Halfdan (design)
197
-
Steve (verification architecture)
198
-
Marton Teilgard (verification)
199
-
Robin (verification)
200
-
Henrik (verification)
201
-
202
-
Embecosm (Jeremy, Jessica)
198
+
* Silicon Labs
199
+
* Arjan Bink (architecture)
200
+
* Oivind Ekelund (TPL, PM)
201
+
* Oystein (design)
202
+
* Halfdan (design)
203
+
* Steve (verification architecture)
204
+
* Marton Teilgard (verification)
205
+
* Robin (verification)
206
+
* Henrik (verification)
207
+
* Embecosm
208
+
* Jeremy
209
+
* Jessica
210
+
* Imperas
211
+
* (names to be provided)
203
212
204
213
Approving commits within https://github.com/openhwgroup/core-v-verif/tree/*/cv32e40x can be done by Steve Richmond, Mike Thompson, Oystein Knauserud or Arjan Bink. Marton Teilgard will be added to this list as soon as he can be elected as committer. Approving commits outside of cv32e40x can be done by Steve Richmond or Mike Thompson.
0 commit comments