fpu
fpu copied to clipboard
Wrong fnmsub(37,11,3)
37-11 * 3 calculation error, Who can fix it。 @svenstucki , @alessandrocapotondi @gtagliavini @andreaskurth @Yaooooo
I don't know why I am copied, but It works fine on GAP side:
Thank you very much for your reply,You must use the fnmsub instruction to calculate in order for this issue to occur. Please confirm that the code called this instruction and has not been optimized by the compiler.
My code looks like this:
@Yaooooo Have you reproduced the problem?
No, it works fine on my side:
But again, I tested and validated only on GAP series of processor, and I am not sure if it's not an issue on pulp, we are not exactly the same. For PULP platform, need to wait others' reply.
One small hint, here's the toolchain I am using, not sure if it's the same version: https://github.com/GreenWaves-Technologies/gap_gnu_toolchain
@FrancescoConti Hello, are you still maintaining it?
Never been a maintainer of the FPU (and none of the people you tagged are, some of them have not been involved in PULP for years - are you tagging people at random?). @lucabertaccini might be able to help, but in any case you should provide significantly more details:
- what is the code you are executing, what the expected result, and what the actual?
- which platform is the FPU instantiated on?
- what toolchain are you using?
- what SDK are you using?
- is this simulated in a virtual platform (GVSOC) or RTL (PULP, PULPissimo, ...) or on a commercial chip (GAP8/9, in which case you should ask GreenWaves) or from a prototype (in which case I assume you would have details already)
- other details of your setup (e.g. you OS)
来自不是 FPU 的维护者(你标记的人都不是,他们中的一些人多年没有参与与 PULP - 你是随机标记人吗?)。@lucabertaccini可能会有所有帮助,但无论您应该如何提供更多详细信息:
- 您正在执行的代码是什么,预期结果是什么,实际结果是什么?
- FPU 在哪个平台上实例化?
- 你用什么工具链?
- 你用什么SDK?
- 这是在虚拟平台 (GVSOC) 或 RTL(PULP、PULPissimo 等)或商业芯片(GAP8/9,在这种情况下你应该问 GreenWaves)或原型(在这种情况下我假装你会详细)
- 您设置的其他细节(例如您的操作系统)
I am using VCS to perform RTL simulation on a PULP FPU, and I found that the FMAC module of the FPU will make an error when executing the fnmsub instruction, with fnmsub (37,11,3)=1, but the correct result should be 4
Hi, I think this repository has been pretty much deprecated in favor of FPNew (at least it used to be called that, now it seems to have been renamed and moved to a different org): https://github.com/openhwgroup/cvfpu
Please use that one instead for new designs, as I don't think this one is really being maintained anymore.