-
Notifications
You must be signed in to change notification settings - Fork 4
RV32I Compliance
There are 55 tests total and 55 reference outputs from those tests. To pass the compliance 55 signatures should be generated and compared to the reference outputs. If we take rules very strict then we should use the signature verification both in verilator as also when testing on the real FPGA board.
It is not clear from the rules to what ISA specification documents the SoftCPU should comply - to be assumed that the latest ones, those being 2.2 for user level ISA a 1.10 for privileged spec.
The compliance tests do not test all compliance required by RV32I user level specification document, they test however some features described in the privileged architecture document.
List of CSR needed for the contest rules compliance
CSR | Defined in | Tested/used in |
---|---|---|
mscratch | privileged | RV32I tests |
mcause | privileged | RV32I/Zephyr |
mtvec | priv (RO allowed) | RV32I (RW!)/Zephyr |
mtval | privileged | RV32I tests |
mepc | privileged | RV32I tests/Zephyr |
cycle | user | not used |
cycleh | user | not used |
instret | user | not used |
instreth | user | not used |
time | user | not used |
timeh | user | not used |
mcycle | privileged | Dhrystone |
mcycleh | privileged | not used |
mip | privileged | Zephyr |
mie | privileged | Zephyr |
Note it is recommended to return 0 for all unimplemented CSR's