Functional Requirements
Functional requirements for what the core must implement.
Architectural
These are the parts of the RISC-V architecture the core will implement.
User Level ISA Support
-
RV64Ibase architecture -
Mstandard extension. -
Cstandard extension. -
Kscalar cryptography extension.
Privilieged ISA Support
Machine Mode:
-
Physical memory only.
-
misaCSR - hard wired to showrv64imck. mvendoridCSR - parameterised.marchidCSR - parameterised.mimpidCSR - parameterised.mhartidCSR - Read-only, hard-wired to zero.mstatusCSRSD- Hard wired to zero.XSandFSboth zero.MBE- WARL - Hard wired to zero.SBE- WARL - Hard wired to ero.SXL- WARL - Hard wired to zero. Only M-Mode implemented.UXL- WARL - Hard wired to2. User mode implemented. RV64 OnlyTSR- Hard wired to zero. S-Mode not supported.TW- WARL - Read/Write.TVM- Hard wired to zero. S-Mode not supported.MXR- WARL - Hard wired to zero. No virtual memory implemented.SUM- WARL - Hard wired to zero. S-Mode not supported.MPRV- WARL - Read/Write.XS- WARL - Hard wired to zero. No extra architectural state.FS- WARL - Hard wired to zero. Floating point not supported.MPP- WARL - Read/Write.SPP- WARL - Hard wired to zero.MPIE- WARL - Read/Write.UBE- WARL - Hard wired to zero.SPIE- WARL - Hard wired to zero.UPIE- WARL - Hard wired to zero.MIE- WARL - Read/Write.SIE- WARL - Hard wired to zero.UIE- WARL - Hard wired to zero.
mtvecCSRBASE- WARL - Read/write all62bits whenmode=0. Ifmode=1(vectored) then writable bits are parameterised.MODE- WARL - Vectored and directed mode implemented. In vectored mode,BASEmust be correctly aligned to allow or'ing in offset from base.
medelegCSR - Hard wired to zero. Only M-Mode implemented.midelegCSR - Hard wired to zero. Only M-Mode implemented.mtimeCSR - Implemented. Alias formcycle.mtimecmpCSR - Implemented.mcycleCSR - Implemented.minstretCSR - Implemented.mcounterenCSR - Hard wired to zero. Only M-Mode implemented.mcountinhibitCSR - Implemented.HPMn- Hard wired to zero. No Hardware perf monitors implemented.IR- Read/Write.CY- Read/Write.
mscratchCSR - Implemented. Read/Write.mepcCSR - Implemented. Read/Write.mcauseCSR - Implemented. Read/Write.IR- Read/Write.CODE- WLRL.
mtvalCSR - Not implemented / hardwired to zero.
Supervisor Mode
Not implemented.
User Mode
Not implemented.
Micro-architectural
-
Three stages: Fetch, Decode + Execute, Writeback
-
Separate instruction fetch and data memory busses.
Fetch:
-
32-bit instruction fetch bus.
-
128-bit fetch buffer.
-
Decoder: 1x 32/16 bit instructions decoded per cycle.
Decode+Execute:
-
Decode operands
-
Read registers
-
Select functional units: ALU / LSU / CSR / CFU etc.
- Non-trapping control flow changes are taken here.
-
Compute results for writeback.
Writeback:
-
GPR writes.
-
CSR access.
-
Data Memory access.
-
Single forwarding path from execute to Decode.
-
Traps and interrupts are raised here.