You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Look further into the mismatch, it's because CSRs like xcause/xtval... are WLRL in RISC-V spec. As hardware, BOOM only implements lower and higher bits of them, leaving middle bits hard-zero. So when written 0xfffffff6, it's only guaranteed to hold supported exception codes i.e. holds {0x1 for interrupt bit, 00..0, 0x6 for cause code}.
The text was updated successfully, but these errors were encountered:
ZhongYic00
changed the title
Mismatch in CoSpike co-simulation about CSR registers
Mismatch in CoSpike co-simulation about WLRL CSR registers
Apr 30, 2025
Uh oh!
There was an error while loading. Please reload this page.
Background Work
Chipyard Version and Hash
1.13.0-47-gdd2ce08f
OS Setup
Everything ok following instructions.
Linux 4c69a5ab553b 4.15.0-163-generic #171-Ubuntu SMP Fri Nov 5 11:55:11 UTC 2021 x86_64 GNU/Linux
Distributor ID: Ubuntu
Description: Ubuntu 22.04.3 LTS
Release: 22.04
Codename: jammy
Other Setup
make verilator TARGET_CONFIG=FireSimLargeBoomCospikeConfig
make run-verilator
Current Behavior
When running cosim, many false positive mismatches deteced around mcause/mtval... CSRs.
Expected Behavior
The false positive mismatches may be avoided by syncing the behaviors of BOOM to spike
Other Information
A minimal PoC testcase:
and the cospike yields:
Look further into the mismatch, it's because CSRs like xcause/xtval... are
WLRL
in RISC-V spec. As hardware, BOOM only implements lower and higher bits of them, leaving middle bits hard-zero. So when written0xfffffff6
, it'sonly guaranteed to hold supported exception codes
i.e. holds{0x1 for interrupt bit, 00..0, 0x6 for cause code}
.The text was updated successfully, but these errors were encountered: