URL
https://opencores.org/ocsvn/neorv32/neorv32/trunk
Subversion Repositories neorv32
[/] [neorv32/] [trunk/] [sw/] [example/] [coremark/] [README.md] - Rev 65
Compare with Previous | Blame | View Log
# IntroductionCoreMark's primary goals are simplicity and providing a method for testing only a processor's core features. For more information about EEMBC's comprehensive embedded benchmark suites, please see www.eembc.org.For a more compute-intensive version of CoreMark that uses larger datasets and execution loops taken from common applications, please check out EEMBC's [CoreMark-PRO](https://www.github.com/eembc/coremark-pro) benchmark, also on GitHub.This project folder is a port of CoreMark (from the official [GitHub repository](https://github.com/eembc/coremark)) for the NEORV32 processor.# BuildingTo build the executable (`neorv32_exe.bin`) of the benchmark, type:`> make USER_FLAGS+=-DRUN_COREMARK clean_all exe`Make sure to define `RUN_COREMARK` *when invoking* `make` (via `USER_FLAGS+=-DRUN_COREMARK`).To build the executable for a certain CPU configuration and a certain optimization level of the benchmark, type (`rv32imc` and `O3` in this example):`> make USER_FLAGS+=-DRUN_COREMARK MARCH=rv32imc EFFORT=-O3 clean_all exe`# RunningUpload the generated executable `neorv32_exe.bin` via the bootloader ('u' command) and execute it ('e' command):```<< NEORV32 Bootloader >>BLDV: Nov 7 2020HWV: 0x01040700CLK: 0x05F5E100 HzUSER: 0x10000DE0MISA: 0x40901104PROC: 0x007F0015IMEM: 0x00008000 bytes @ 0x00000000DMEM: 0x00008000 bytes @ 0x80000000Autoboot in 8s. Press key to abort.Aborted.Available CMDs:h: Helpr: Restartu: Uploads: Store to flashl: Load from flashe: ExecuteCMD:> uAwaiting neorv32_exe.bin... OKCMD:> eBooting...NEORV32: Processor running at 100000000 HzNEORV32: Executing coremark (2000 iterations). This may take some time...2K performance run parameters for coremark.CoreMark Size : 666Total ticks : 3036959876Total time (secs): 30Iterations/Sec : 66Iterations : 2000Compiler version : GCC10.1.0Compiler flags : -> default, see makefileMemory location : STACKseedcrc : 0xe9f5[0]crclist : 0xe714[0]crcmatrix : 0x1fd7[0]crcstate : 0x8e3a[0]crcfinal : 0x4983Correct operation validated. See README.md for run and reporting rules.NEORV32: All reported numbers only show the integer results.NEORV32: Executed instructions 0x00000000_24b8576eNEORV32: CoreMark core clock cycles 0x00000000_b5045484NEORV32: Average CPI (integer part only): 4 cycles/instruction```
