Skip to content
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

Benchmarking of PULP FPU against Whisper ISS #65

Open
HamzaShabbir517 opened this issue Sep 2, 2022 · 5 comments
Open

Benchmarking of PULP FPU against Whisper ISS #65

HamzaShabbir517 opened this issue Sep 2, 2022 · 5 comments

Comments

@HamzaShabbir517
Copy link

To whom it may concern,

We are from Microelectronics Research Lab (MERL), based in Pakistan working on developing RISC-V based ASICs and SoCs.

Currently we were working on developing an Indigenously design RISC-V based Floating Point Unit (AI-FPU). Initially we were using PULP FPU as a benchmark for the verification of our designed AI-FPU.

However, during the verification process we encountered few cases where the PULP FPU was not 100% compatible with Whisper ISS. A glimpse of those errors is shown in the figure attach.
Screenshot from 2022-09-02 16-40-10
Screenshot from 2022-09-02 16-40-33
Screenshot from 2022-09-02 16-42-16

Thank you,

Regards:
Engr Hamza Shabbir
Research Associate
MERL

@davideschiavone
Copy link
Contributor

That's amazing, thanks @HamzaShabbir517

The OpenHW Group team is already working in fixing the divider, but this document will definitively be very useful for them

@lucabertaccini @MikeOpenHWGroup @pascalgouedo @JeanRochCoulon @jquevremont

@MikeOpenHWGroup
Copy link
Member

Thanks for this @HamzaShabbir517! As @davideschiavone indicated, the OpenHW Group has started a complete verification cycle of the CV32E40Pv2+CVFPU. This effort is being led by @pascalgouedo. In addition @lucabertaccini will be updating the DIV logic in the CVFPU.

This work has just begun, and we have encountered multiple issues (which will be captured as issues in this repository very soon). Your input will be very useful to this effort. As we get closer to completion of this verification effort, may we ask you to re-run your tests again?

@HamzaShabbir517
Copy link
Author

HamzaShabbir517 commented Sep 2, 2022

@davideschiavone thanks for the quick response.
@MikeOpenHWGroup Sure please let me know when the errors are resolved as we have developed a Verification Environment in which we can generate Random Floating Point Numbers and we can also give millions of inputs to the design and compare the result against the ISS.
A glimpse of number of random inputs generated for some instructions is shown below.

Screenshot from 2022-09-02 22-13-46

Regards:
Hamza Shabbir
Research Associate
MERL

@stmach
Copy link
Collaborator

stmach commented Sep 19, 2022

Hi there,

Since FNMADD and FNMSUB both produce false results with an inverted sign bit in your screenshots, can it be that the two ops are swapped in their encoding?

Cheers

@HamzaShabbir517
Copy link
Author

@stmach Yes that's the issue the opcodes have been swapped

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants