Spike: FS field is not configurable [SSTATUS CSR is failing while verifying Access mode]
Is there an existing CVA6 bug for this?
- [X] I have searched the existing bug issues
Bug Description
While verifying Access mode for SSTATUS CSR test is failing on RTL end due to FS field in CSR is always reading Zero.
please find the steps to replicate the issue.
- git clone https://github.com/spidugu444/core-v-verif.git
- git checkout csr_sstatus_issue
- set toolchain to RISCV variable
- Run SSTATUS test by using source cva6/regress/smoke-tests.sh
- output directory will generate inside cva6/sim
- SSTATUS test and Yaml file location: cva6/tests/custom/csr_access_tests
For quick reference please find spike and VCS log files as attached.
riscv_spike_sstatus_csr_test_0.log riscv_vcs_sstatus_csr_test_0.log
I found that in CVA6 RTL due to disable of Floating-point unit FS field in sstatus is always reading zero. so we need to configure spike to disable FS field.
This issue is linked to Spike configuration. mstatus.FS and sstatus.FS field should be configurable
Is this specified somewhere in the User Manual?
Two issues here, actually:
- does the configuration under test support
SSTATUSat all, knowing that the "embedded" config only has M mode? - here the
FSfield ofSTATUSis explicitly described asRW. However, the behavior of theFSfiled in the absence of an FPU is not described.
Bottom line: the SSTATUS specification in the CVA6 User Manual needs to be clarified wrt. configurations and their properties, including the presence or not of the FPU in a given config.