[doc] Update READMEs with best CoreMark results

This commit is contained in:
Greg Chadwick 2020-07-10 10:50:57 +01:00
parent adafa73ca8
commit 6b9165fa66
2 changed files with 30 additions and 2 deletions

View file

@ -23,7 +23,7 @@ These are configurations on which lowRISC is focusing for performance evaluation
| Config | "small" | "maxperf" | "maxperf-pmp-bmfull" |
| ------ | ------- | --------- | ---------------- |
| Features | RV32IMC, 3 cycle mult | RV32IMC, 1 cycle mult, Branch target ALU, Writeback stage | RV32IMCB, 1 cycle mult, Branch target ALU, Writeback stage, 16 PMP regions |
| Performance (CoreMark/MHz) | 2.44 | 3.09 | 3.09 |
| Performance (CoreMark/MHz) | 2.47 | 3.13 | 3.05 |
| Area - Yosys (kGE) | 33.15 | 39.03 | 63.32 |
| Area - Commercial (estimated kGE) | ~27 | ~31 | ~50 |
| Verification status | Green | Amber | Amber |
@ -31,7 +31,9 @@ These are configurations on which lowRISC is focusing for performance evaluation
Notes:
* Performance numbers are based on CoreMark running on the Ibex Simple System [platform](examples/simple_system/README.md).
Note that CoreMark was compiled without support for the B extension.
Note that different ISAs (use of B and C extensions) give the best results for different configurations.
See the [Benchmarks README](examples/sw/benchmarks/README.md) for more information.
The "maxperf-pmp-bmfull" configuration sets a `SpecBranch` parameter in `ibex_core.sv`; this helps timing but has a small negative performance impact.
* Yosys synthesis area numbers are based on the Ibex basic synthesis [flow](syn/README.md).
* Commercial synthesis area numbers are a rough estimate of what might be achievable with a commercial synthesis flow and technology library.
* Verification status is a rough guide to the overall maturity of a particular configuration.

View file

@ -62,6 +62,32 @@ seedcrc : 0xe9f5
Correct operation validated. See README.md for run and reporting rules.
```
### Choice of ISA string
Different ISAs (to choose different RISC-V ISA extensions) can be selected by
passing the desired ISA string into `RV_ISA` when invoking make.
```
make -C ./examples/sw/bencharmsk/coremark clean
make -C ./examples/sw/benchmarks/coremark RV_ISA=rv32imc
```
This will build CoreMark using the 'C' extension (compressed instructions).
When changing `RV_ISA`, you must clean out any old build with `make clean` and
rebuild.
The following ISA strings give the best performance for the Ibex configurations
listed in the README:
| Config | Best ISA |
|----------------------|----------|
| "small" | rv32im |
| "maxperf" | rv32im |
| "maxperf-pmp-bmfull" | rv32imcb |
### CoreMark score
A CoreMark score is given as the number of iterations executed per second. The
CoreMark binary is hard-coded to execute 10 iterations (see
`examples/sw/benchmarks/coremark/Makefile` if you wish to alter this). To obtain