-
Notifications
You must be signed in to change notification settings - Fork 118
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] NX flag not correctly triggered in specific cases #139
Comments
Hi @fly-1011, thanks for this issue. It seems you are using the CVA6 (which is great!). However, the CVA6 uses a very out-of-date version of CVFPU:
There have been 41 newer commits made to CVFPU after As far as a I aware, there are no active CVA6 variants that support floating point, so there might not be much interest in resolving this issue among the CVA6 team for some time. (There are at least two CVA6 variants that will support F and/or D ISAs, but these have not yet started.) Also, because Do you have access to an environment that does not rely on the CVA6? |
Thank you for your detailed explanation and for pointing out the issue with the CVFPU version. At the moment, I don't have access to an environment that doesn't rely on CVA6 for testing. However, based on my observations, this issue does indeed appear to be a bug in the version we have used. I will further investigate this issue and look for possible solutions. If you have any other suggestions or recommended tools that could help me more effectively verify and resolve this issue, I would greatly appreciate it. Thank you again for your support and assistance! |
The best place to discuss the CVA6's use of CVFPU is the OpenHW Group's Mattermost discussion board. |
Hi again @fly-1011, we have not forgotten this issue! 😉 As you may know, this IP was extensively verified in CV32E40P (v1.8.3) so it is more than a little surprising to see this Issue. However, within the CV32E40P context, the CVFPU was only verified with a very specific set of instantiation parameters. You can see these in the User Manual here. Can you list the instantiation parameters you are using in your testbench? |
Hi @MikeOpenHWGroup ,😉 Thanks for the follow-up! I am running my tests using the following command: python3 cva6.py --target cv64a6_imafdc_sv39 --iss=$DV_SIMULATORS --iss_yaml=cva6.yaml --asm_tests ../tests/custom/hello_world/custom_test_template.S --linker=../tests/custom/common/test.ld --gcc_opts="-static -mcmodel=medany -fvisibility=hidden -nostdlib -nostartfiles -g ../tests/custom/common/syscalls.c ../tests/custom/common/crt.S -lgcc -I../tests/custom/env -I../tests/custom/common" The commit I am using for CVA6 is 73590010e63e9740994fa15fbc5cd5fe85d24bb4. Please let me know if you need more specific details about the environment. Thanks again for your help! |
Same answer than #110 |
Please see the answer in #120 (comment) |
Bug Description
In some cases where an
OF
exception was triggered,NX
in the fflags register was not set correctly.Steps to Reproduce
The log from CVA6 is as follows:
The log from Spike is as follows:
Note:
This issue does not require clearing the fflags register to be triggered. It is distinct from issue pulp-platform/fpu_div_sqrt_mvp#15, which has already been resolved. In my current environment, the previous issue is no longer reproducible.
Below is the cva6 log of the previous issue running in my environment:
The text was updated successfully, but these errors were encountered: