Open salaheddinhetalani opened 8 months ago
Thanks @salaheddinhetalani for this study (all the bug issues opened these last days). The bug are very well linked to the specification. I am sure it will help the understanding. BTW, Today the Questasim tool is not fully supported by cva6 repo. Is there an interest from you in providing scripts to simulate with such tools ?
Hi @JeanRochCoulon, it's my pleasure. As for providing scripts to reproduce the issues reported using Questasim, I have already created SV testbenches based on the counterexamples of each issue. Would you be interested to have them shared here as well. Otherwise, the attached VCD files should be good enough to reproduce. Cheers!
Is there an existing CVA6 bug for this?
Bug Description
Instruction retire counters
minstret
andminstreth
are incremented and updated (written by software) at the same time. Is this intended?RISC-V Specification
Unprivileged ISA: 20191213 | Privileged Architecture: 20211203 | External Debug Support: 0.13.02
Example Scenario
As shown below, the following sequence of instructions happens:
The instruction
CSRRC x0, minstret, x2
is decoded att_id
and executed in machine mode resulting in updating the architecture state att_arch_update
. As a result,minstret
is updated to have been incremented and then cleared at the same time.Steps to Reproduce
Git Hash: de2e254c | TARGET_CFG: cv32a6_imac_sv0 | VCD: issue_17.zip
Component
Component:RTL
Product: Questa OneSpin Solutions App: Questa Processor App Tool's version: 2024.1_1