11# Benchmarks
22
3- This directory contains benchmarks that can be run on ibex simple system.
3+ This directory contains benchmarks that can be run on Ibex simple system.
44Benchmarks may rely on code external to this directory (e.g. it may be found in
55` vendor/ ` ) see the specific benchmark information below for details on how to
66build and run each benchmark and where benchmark code is located.
@@ -10,14 +10,21 @@ build and run each benchmark and where benchmark code is located.
1010All of these benchmarks run on Simple System. A verilator simulation suitable
1111for running them can be built with:
1212
13- ```
13+ ``` shell
1414fusesoc --cores-root=. run --target=sim --setup --build lowrisc:ibex:ibex_simple_system ` ./util/ibex_config.py maxperf fusesoc_opts`
1515```
1616
1717This will build a simulation of Ibex in the 'maxperf' configuration.
1818It is one of several pre-defined ibex configurations, others can be used.
1919These are specified in the ` ibex_configs.yaml ` file.
2020
21+ You can also test how the instruction cache affects performance.
22+ To see this effect you must specify a delay on the instruction accesses becaus with single-cycle RAM access an isntruction cache does not help.
23+
24+ ``` shell
25+ fusesoc --cores-root=. run --target=sim --setup --build lowrisc:ibex:ibex_simple_system ` ./util/ibex_config.py maxperf-pmp-bmfull-icache fusesoc_opts` --InstrCycleDelay=5
26+ ```
27+
2128See examples/simple_system/README.md for full details.
2229
2330## CoreMark
@@ -32,13 +39,13 @@ running on simple system is found in `examples/sw/benchmarks/coremark`.
3239
3340To build CoreMark:
3441
35- ```
42+ ``` shell
3643make -C ./examples/sw/benchmarks/coremark/
3744```
3845
3946To run CoreMark (after building a suitable simulator binary, see above):
4047
41- ```
48+ ``` shell
4249build/lowrisc_ibex_ibex_simple_system_0/sim-verilator/Vibex_simple_system --meminit=ram,examples/sw/benchmarks/coremark/coremark.elf
4350```
4451
@@ -71,7 +78,7 @@ Correct operation validated. See README.md for run and reporting rules.
7178Different ISAs (to choose different RISC-V ISA extensions) can be selected by
7279passing the desired ISA string into ` RV_ISA ` when invoking make.
7380
74- ```
81+ ``` shell
7582make -C ./examples/sw/benchmarks/coremark clean
7683make -C ./examples/sw/benchmarks/coremark RV_ISA=rv32imc
7784```
0 commit comments