# RISC-V Test Suites

Tests are grouped into different functional test suites targeting the different subsets of the full RISC-V specifications.  There will be ISA and privilege suites.

For information on the test framework and other documentation on the compliance tests look at : [../doc/README.adoc](../doc/README.adoc) 

Currently there are five solid test suites checked into this repository along with a few deprecated/WIP tests. 

If you are looking to check compliance of RV32I in user mode then run the suites: RV32I, RV32ICSR and RV32IFENCEI

To see the coverage of the suites see the riscv-test-suite coverage directory for the summary/detailed reports. These are generated by Imperas riscvOVPsim.

Test suites status:

Pretty Solid:
* RV32I (significant improvements (Nov2019) by Imperas)
    * 48 focused tests, using the correct style/macros, excellent basic coverage of most instructions
    * Basic Coverage (2,829 coverpoints): 99.47%
    * Extended Coverage (8,505 coverpoints): 39.53%
* RV32IM (developed by Imperas)
    * 8 focused tests, using the correct style/macros, ok basic coverage
    * Basic Coverage (848 coverpoints): 77.36%
    * Extended Coverage (2,480 coverpoints): 32.10%
* RV32IMC (developed by Imperas)
    * 25 focused tests, using the correct style/macros
    * Basic Coverage (546 coverpoints): 60.07%
    * Extended Coverage (2,586 coverpoints): 18.83%
* RV32ICSR
    * 6 focused tests
    * Basic Coverage (288 coverpoints): 47.22%
    * Extended Coverage (882 coverpoints): 19.39%
* RV32IFENCEI
    * 1 test
    * Basic Coverage (1 coverpoint): 100.00%
    * Extended Coverage (1 coverpoint): 100.00%
    
Work in progress (64-bit tests):
* RV64I (developed by Imperas)
    * 8 focused tests, using the correct style/macros
    * Basic Coverage (790 coverpoints): 76.84%
    * Extended Coverage (3,842 coverpoints): 19.26%
* RV64IM (developed by Imperas)
    * 3 focused tests, using the correct style/macros
    * Basic Coverage (424 coverpoints): 77.36%
    * Extended Coverage (2,008 coverpoints): 19.52%

To be worked on:
* RV64C
* RV32A
* RV64A
* RV64F
* RV64D
* RV32E
* RV32EC
* RV32EA
* RV32EF
* RV32ED

and then privilege tests...
