Closed saumeister closed 4 years ago
Hi @saumeister , the performance counters have very recently been changed from the 'PULP specific counters' to RISC-V compliant counters from the Counters section in https://riscv.org/specifications/isa-spec-pdf/. The original PCMR and PCERR CSRs no longer exist and the RISC-V compliant counters will default to be inhibited (via mcountinhibit).
Unfortunately the related documentation change has not been merged in yet, but you can see the updated performance counter docs at https://github.com/openhwgroup/core-v-docs/pull/59
Please make sure you are using the latest RTL from the master branch and please state a git id if you are still seeing an issue.
Hi @Silabs-ArjanB,
Thank you for taking the time to answer. I will make sure to use the RTL from the master branch and look into the new RISC-V compliant counters and give it another try now.
Hi,
Thanks for the help. It worked out fine after updating the RTL and some small code modifications.
Hi everyone,
I'm currently trying to port some bench-marking programs to run on the core. I have encountered some problems with the timer section in CoreMark where I try to read CSR mcycle during start and stop measurements.
The timer code used:
This result in the following error output in the Questa Sim Transcript:
EDIT: Values in the PCMR are set to 1 after reset, so the performance counters should be enabled. However, it looks like all bits in PCER are set to 0. I would appreciate if somebody have any pointers if I'm on the right path or if I should do a different approach to make program execution time measurements for bench-marking purposes.