-
Notifications
You must be signed in to change notification settings - Fork 719
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] Ariane incorrectly treats NaNs as zeros for simple precision floating-point arithmetics #1071
Comments
Hi @flaviens, this is a known issue with a complex history. As you may know, the CVA6 is using a version of the PULP Platform FPNEW floating point unit. This IP has been transfered to OpenHW and rebranded as CVFPU. This IP is undergoing several updates and full verification as part of the CV32E40P v2 project. The CVA6 will integrate CVFPU once it has been fully verified in the E40P project. However, there is currently no timeline for this as the current CVA6 device under development (CV32A6) does not support the F and D ISAs. |
Hi @MikeOpenHWGroup, thank you for your prompt reply! You say it is a known issue but I could not find a mention of it anywhere. Can you please show where it is documented? |
Hello @flaviens CVA6 FPU has just been updated ! I hope this has solved the issue. Can I ask you to verify it and close the issue if it is ok on your side ? |
Hi @JeanRochCoulon thanks for the notification! What improvements do you expect: just this issue or all pending FPU issues to be fixed? |
Hello @flaviens, |
Thank you for your response! |
I close this one but this issue shares similarities |
I discovered that Ariane unexpectedly sets the NV (invalid operation) when we call
fdiv.s
on floating-point operands that have the 32 lower bits as zeros but are NaNs.Example snippet to reproduce:
From spike, fflags should be clear, but Ariane sets fflags=0x10, which corresponds to NV.
Let me know if I can help debug that.
Note: this may be an issue proper to the FPU, not yet entirely sure.
Thanks!
Flavien
The text was updated successfully, but these errors were encountered: