Skip to content

Commit fbfba13

Browse files
authored
Ohw lee 04042023 (#590)
* Uploaded PL file * adding PA documents to CVE20 Signed-off-by: Lee Hoff <[email protected]> --------- Signed-off-by: Lee Hoff <[email protected]>
1 parent e2fe03d commit fbfba13

File tree

4 files changed

+225
-0
lines changed

4 files changed

+225
-0
lines changed
Binary file not shown.
Binary file not shown.
Binary file not shown.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,225 @@
1+
# Title of Project - "CV32E20"
2+
# Project Launch Proposal
3+
## Date of proposal - 2021-07-26, Revised 2022-01-21, 2022-02-09
4+
## Author(s) - Joe Circello (NXP), Lee Hoff (Intrinsix)
5+
6+
## Summary of project
7+
The CV32E20 proposed project develops a TRL5, area-efficient 2-stage microcontroller core based on Ibex
8+
as part of the CORE-V family of cores, along with a core complex (aka "coreplex") supporting Arm AMBA AHB-5 32-bit bus interfaces,
9+
debug and interrupts.
10+
The scope of the project consists of detailing which of the Ibex parameters are being removed, or verified, or neither verified or removed (left for future work). Completing design enhancements and integration of the interfaces into the core complex. Completing verification and documentation.
11+
12+
## Components of the Project
13+
### Component 1a "RTL design of the core".
14+
RTL design of the Core starting from Ibex with the following features:
15+
E - Base Integer Instruction Set (embedded) with 16, 32-bit general-purpose registers
16+
I - Base Integer Instruction Set, with 32, 32-bit general-purpose registers
17+
M - Standard Extension for Integer Multiplication and Division
18+
C - Standard Extension for Compressed 16-bit Instructions
19+
User Mode and Machine Mode
20+
Harvard memory OBI bus interfaces
21+
CV32E40P-like interrupt interface (Open Titan CLIC)
22+
Cleaning Ibex RTL of unused parameters
23+
Exposing privilege pins (privilege CSR bits are exposed as bus attribute signals)
24+
Modification to make OBI-compliant bus interfaces.
25+
Adding and extending the rvfi interface
26+
Expose privilege pins as bus address phase attributes
27+
CV32E40P-like Sleep unit
28+
29+
### Component 1b "RTL design of the core complex".
30+
Integrating interrupt controller - (Open Titan CLIC).
31+
Integrating debug interface - similar to E40P
32+
Integrating OBI2AHB bus bridges
33+
34+
### Component 2 "Documentation".
35+
- Create core spec from existing Ibex documentation
36+
- Create core complex specification
37+
- Create verification plan and reports
38+
39+
### Component 3 "Verification of core complex"
40+
- Based on core-v-verif environment
41+
- Verification of the Core ISA configurations: RV32IMC, RV32EMC
42+
- Verification of the Core Complex: DUT0 with RV32IMC, DUT1 with RV32EMC
43+
44+
45+
## Summary of market or input requirements:
46+
This project is intended to support embedded applications where, for example,
47+
a state machine based implementation might otherwise be used. Additionally, this core
48+
is targeted for use in applications requiring a small 32-bit processing element.
49+
The core supports the RV32{E,I}MC instruction sets.
50+
51+
### Known market/project requirements at PL gate
52+
### Potential future enhancements for future project phases
53+
* Zce static code size reduction opcode extension
54+
* Supporting 2 pin compressed JTAG (CJTAG) debug interface
55+
* Investigation of a "tiny FPU " implemention
56+
* Targeted at sensor computations at the edge
57+
* Having FP would be useful for these and other computations
58+
* Low granularity Physical Memory Protection (PMP) module
59+
60+
## Who would make use of OpenHW output
61+
62+
Companies developing microcontroller-based embedded (sub)systems or devices.
63+
64+
## Summary of Timeline
65+
66+
* Start: 2021Q4
67+
* Use Ibex Core Specification
68+
* Create Core Complex Specification - End of 2022Q1
69+
* Complete design / integration - End of 2022Q2
70+
* Create Core Complex Verification plan and verification spec - End of 2022Q2
71+
* Execute verification plan to completion - 2022Q4
72+
* Document detailed completion including reviews - 2022Q4
73+
74+
75+
## Explanation of why OpenHW should do this project
76+
77+
* A 32 bit microcontroller is viewed as the appropriate low-end programmable core to replace state machine based implementations.
78+
* It is the smallest RISC-V core design and includes standard Debug and ISA, with access to all the software enablement tools included in the CORE-V ecosystem.
79+
* Small size and low power are the key hardware metrics.
80+
* The starting point is Ibex, but Ibex does not include everything needed, such as OBI. It also includes many unneeded paramemters,
81+
which may cause unnecessary verification and maintenance complications.
82+
* The use of Arm AMBA-AHB buses supports the (re)use of many existing 32-bit IP modules, including peripherals, such as crytography devices.
83+
* It is important for OpenHW members to exert control over the features as part of the CORE-V family.
84+
85+
Overall, the CVE20 core augments the CORE-V family of 32 bit cores with a needed low-end microcontroller.
86+
87+
## Industry landscape: description of competing, alternative, or related efforts in the industry
88+
89+
Ibex - from LowRISC
90+
SNITCH - from ETH Zurich - single pipeline, low complexity meant to offload to vector units
91+
Arm Cortex-M0+ - from Arm
92+
93+
## OpenHW Members/Participants committed to participate
94+
95+
* Intrinsix - Design and Verification of core-complex, Core Verification
96+
* NXP - Architecture definition, Core Design, Core Verification
97+
* Imperas - Supply Imperas reference model, engineering support and expertise
98+
* Embecosm - Provide tool enablement (SW tools: compilers, assembler/linker, etc.)
99+
* ETH Zurich - (Davide Schiavone) Provide design guidance and contribute RTL design edits
100+
101+
## Project Leader(s)
102+
### Technical Project Leader(s)
103+
At Project Launch, co-led by
104+
* Lee Hoff, Intrinsix
105+
* Joe Circello, NXP
106+
107+
### Project Manager, if a PM is designated
108+
None designated.
109+
110+
## Project Documents
111+
### Project Planning Documents
112+
Detailed project plan
113+
RTL Freeze checklist
114+
115+
### Project Output Documents
116+
Core specification
117+
Core complex specification
118+
Verification plan
119+
Verification report
120+
121+
122+
## List of project technical outputs
123+
Verified RTL for Core and Core Complex (RV32IMC and RV32EMC)
124+
Verification environment including test cases
125+
Documentation
126+
127+
### Feature Requirements
128+
*Features are more granular than Components.*
129+
*For SW porting projects, this list serves as the detailed project reference for features*
130+
*For IP Cores or more complext projects, a user manual with requirements specification is produced at the PA gate, which may supercede this list of features*
131+
132+
#### Feature 1
133+
Decide on features available to user and not available
134+
Configuration of parameters (what is being verified in this project)
135+
Future considerations of what is carried forward
136+
#### Feature 2
137+
138+
139+
## External dependencies
140+
*These are external factors on which the project depends, such as external standards ratification, external technology input, etc.*
141+
*None currently identified*
142+
143+
## OpenHW TGs Involved
144+
*Cores TG, Verification TG*
145+
146+
## Resource Requirements
147+
*This is a list of major resources/people required to implement the project and indication of whether the resources are available*
148+
149+
Core Design RTL
150+
-> NXP and Intrinsix resources would need guidance from Davide Schiavone
151+
152+
Core Complex RTL
153+
-> 1-2 resources for 3 months until end of 2Q
154+
-> Core Complex is to be handled by NXP and Intrinsix
155+
156+
157+
Core Verification
158+
Core Complex Verification
159+
160+
.> 3-4 FTE resources for (3Q + 4Q) of 2022
161+
-> Intrinsix (USA) and NXP (Europe) resources
162+
163+
Documentation
164+
-> covered as per deliverables above
165+
166+
Technical Project Management
167+
-> potentially covered through NXP and Intrinsix especially by a verification leader
168+
-> A committer would be needed, and the above person could do that
169+
170+
171+
### Engineering resource supplied by members - requirement and availability
172+
### OpenHW engineering staff resource plan: requirement and availability
173+
discussed above
174+
175+
### Marketing resource - requirement and availability
176+
### Funding for project aspects - requirement and availability
177+
178+
## Architecture and/or context diagrams
179+
*Architecture (internal blocks and interconnections), and context (depiction of the the project content within its operational context), are both encouraged where appropriate to depict functionality to both subject matter experts and to non-experts*
180+
Nice to have but not yet available
181+
182+
## Project license model
183+
Solderpad License
184+
185+
## Description of initial code contribution, if required
186+
For the core, Initial RTL to be forked or cloned from Ibex. This decision is not yet made.
187+
A CQ will be generated on the Ibex code.
188+
For the core complex,
189+
-- Interrupt (CLIC or CLINT) controller from OpenTitan
190+
-- OBI to AHB bus gaskets from Intrinsix
191+
-- not decided yet if we need a CQ on these elements.
192+
Verification based on core-v-verif uvm environment
193+
194+
195+
## Repository Requirements
196+
Design and Documentation will use github under cv32e20
197+
Verification will use github under core-v-verif
198+
199+
## Project distribution model
200+
Project artifacts will be released under CORE-V Cores and available on openhw github
201+
202+
203+
## Preliminary Project plan
204+
*A full project plan is not required at PL. A preliminary plan, which can be for instance the schedule for completion of component or feature list, together with responsible resource, should be provided. Full details should be provided at PA gate.*
205+
206+
see the timeline section above
207+
208+
209+
## Steps to get to PA gate
210+
211+
Get the repo in place
212+
213+
Committer/contributor/repo/Git training for the teams at NXP and Intrinsix (2 hour session)
214+
215+
Technical teams need to be named and start engaging
216+
217+
Internal teams to NXP and Intrinsix should understand how to contribute code and navigate their company's policies to make contributions
218+
219+
Target the April 2022 PA gate to have
220+
- requirements specificaiton for both Core and Complex
221+
- project plan and risk register with task list, names, start and stop dates AND/OR detailed backlog register
222+
223+
224+
## Risk Register
225+
*A list of known risks, for example external dependencies, and any mitigation strategy*

0 commit comments

Comments
 (0)