-
Notifications
You must be signed in to change notification settings - Fork 418
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
riscv_compliance_tests error: "I-SB-01.S" and "I-SH-01.S" not passed #94
Comments
Indeed this assertion is just nonsense. I think these hardcoded values are from spike and its linkerscript. See the issue I opened quite a while ago riscv-non-isa/riscv-arch-test#28 Thanks for reporting! I thought I removed that buggy assertion but let me check again |
Thank for your reply. I have another problem about what riscv-tests and riscv-compliance tests exactly refer to? I see the following explanations in readme: riscv-tests(rv32ui, rv32uc) and riscv-compliance-tests(rv32i) It may be too brief for me to understand the meaning of riscv-tests and riscv-compliance tests. I have a lot of questions about them. For example, what's the difference between "ui" and "i" and what's the meaning of "compliance" in this part. Could you please explain them to me? |
|
This bug is an upstream issue with |
Hi @shjdzc12 This issue will be further tracked in openhwgroup/core-v-verif#46. The RISC-V compliance tests will be removed from this cv32e40p repos and be revived in https://github.com/openhwgroup/core-v-verif. Could you please close this issue and address related issues in https://github.com/openhwgroup/core-v-verif instead? |
Certainly. I will do that! |
Hi @shjdzc12 We are closing this issue as it either has been fixed with the stated (merged) pull request, because it is no longer valid, or because a follow up question for further clarification or feedback remained unanswered for at least 7 days. Please do not hesitate to re-open this issue if you do not agree that the issue has been handled satisfactorily or if you have further questions. Thank you for contributing to this core; raising issues will help to improve it. |
Signed-off-by: Pascal Gouedo <[email protected]>
Signed-off-by: Pascal Gouedo <[email protected]>
Signed-off-by: Pascal Gouedo <[email protected]>
Signed-off-by: Pascal Gouedo <[email protected]>
- Fix Underflow flag for MUL and DIV/SQRT operations (openhwgroup#94 openhwgroup#726 openhwgroup#729) - Fix for Float to Int conversion (openhwgroup#97 openhwgroup#83 openhwgroup#727) - Fixed unnecessary trailing semicolon (openhwgroup#99) Signed-off-by: Pascal Gouedo <[email protected]>
I execute the following command in the riscv/tb/core directory:
$ make firmware-vcs-run VCS_FLAGS+="-cm line+cond+fsm+tgl+branch" SIMV_FLAGS+="-cm line+cond+fsm+tgl+branch"
and I get the following results:
The result shows that the core can't pass the E2 part of the tests named I-SB-01.S and I-SH-01.S.
I open these two .S files in tb/core/riscv_compliance_tests directory and find the code of E2 part as follows:
I think x28 gets value from the commands
la x28, test_E2_res
andaddi x28, x28, -4
.So x28=test_E2_res+PC - 4, am I right?
Therefore why can the test suppose x28's standard value to be 0x8000403C because in my opinion, its value is influenced by PC and can't be expected. In fact, in my simulation, x28 is equal to 0x0006f73c.
Please give me some explanations about this problem and my "riscv_compliance_tests not passed" error. I really need your help.
The text was updated successfully, but these errors were encountered: