OpenHW Group CV32E40X User Manual
- Changelog
- Introduction
- Getting Started with CV32E40X
- Core Integration
- Pipeline Details
- Instruction Fetch
- Load-Store-Unit (LSU)
- Atomic instructions
- Physical Memory Attribution (PMA)
- Register File
- eXtension Interface
- Fence.i external handshake
- Sleep Unit
- Control and Status Registers (CSRs)
- CSR Map
- CSR Descriptions
- Jump Vector Table (
jvt
) - Machine Status (
mstatus
) - Machine ISA (
misa
) - Machine Interrupt Enable Register (
mie
) -CLIC
== 0 - Machine Interrupt Enable Register (
mie
) -CLIC
== 1 - Machine Trap-Vector Base Address (
mtvec
) -CLIC
== 0 - Machine Trap-Vector Base Address (
mtvec
) -CLIC
== 1 - Machine Trap Vector Table Base Address (
mtvt
) - Machine Status (
mstatush
) - Machine Counter-Inhibit Register (
mcountinhibit
) - Machine Performance Monitoring Event Selector (
mhpmevent3 .. mhpmevent31
) - Machine Scratch (
mscratch
) - Machine Exception PC (
mepc
) - Machine Cause (
mcause
) -CLIC
== 0 - Machine Cause (
mcause
) -CLIC
== 1 - Machine Trap Value (
mtval
) - Machine Interrupt Pending Register (
mip
) -CLIC
== 0 - Machine Interrupt Pending Register (
mip
) -CLIC
== 1 - Machine Next Interrupt Handler Address and Interrupt Enable (
mnxti
) - Machine Interrupt-Level Threshold (
mintthresh
) - Machine Scratch Swap for Interrupt-Level Change (
mscratchcswl
) - Trigger Select Register (
tselect
) - Trigger Data 1 (
tdata1
) - Match Control Type 2 (
mcontrol
) - Exception Trigger (
etrigger
) - Match Control Type 6 (
mcontrol6
) - Trigger Data 1 (
tdata1
) -disabled
view - Trigger Data Register 2 (
tdata2
) - Trigger Data Register 2 (
tdata2
) - View whentdata1.TYPE
is 0x2 - Trigger Data Register 2 (
tdata2
) - View whentdata1.TYPE
is 0x5 - Trigger Data Register 2 (
tdata2
) - View whentdata1.TYPE
is 0x6 - Trigger Data Register 2 (
tdata2
) - View whentdata1.TYPE
is 0xF - Trigger Info (
tinfo
) - Debug Control and Status (
dcsr
) - Debug PC (
dpc
) - Debug Scratch Register 0/1 (
dscratch0/1
) - Machine Cycle Counter (
mcycle
) - Machine Instructions-Retired Counter (
minstret
) - Machine Performance Monitoring Counter (
mhpmcounter3 .. mhpmcounter31
) - Upper 32 Machine Cycle Counter (
mcycleh
) - Upper 32 Machine Instructions-Retired Counter (
minstreth
) - Upper 32 Machine Performance Monitoring Counter (
mhpmcounter3h .. mhpmcounter31h
) - Machine Vendor ID (
mvendorid
) - Machine Architecture ID (
marchid
) - Machine Implementation ID (
mimpid
) - Hardware Thread ID (
mhartid
) - Machine Configuration Pointer (
mconfigptr
) - Machine Interrupt Status (
mintstatus
) - Cycle Counter (
cycle
) - Time (
time
) - Instructions-Retired Counter (
instret
) - Performance Monitoring Counter (
hpmcounter3 .. hpmcounter31
) - Upper 32 Cycle Counter (
cycleh
) - Upper 32 Time (
timeh
) - Upper 32 Instructions-Retired Counter (
instreth
) - Upper 32 Performance Monitoring Counter (
hpmcounter3h .. hpmcounter31h
)
- Jump Vector Table (
- Performance Counters
- Exceptions and Interrupts
- Debug & Trigger
- RISC-V Formal Interface (RVFI)
- CORE-V Instruction Set Extensions
- Core Versions and RTL Freeze Rules
- Glossary