-
Notifications
You must be signed in to change notification settings - Fork 76
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
Simulation hits max cycle count for dhry, cmark_iccm, cmark_dccm #162
Comments
check if the CPU does something useful and not stuck in exception - look exec*.log instructions execution trace .. |
Your trace shows that CPU reads 0 to ra (return address) - (instruction #122 ) from stack (instead of 0x800006dc, written by #109) and then returns from a function to address 0 (instruction #124), where you don't have code - (zeros) , which are unimplemented opcode for the CPU. So the CPU takes exception and goes to address, set in mtvec CSR, which is also 0 ( mtvec is not set by the program) . Thus the CPU is stuck in the address 0, constantly taking exception. BTW what are the start/end addresses of the DCCM? |
Thank you so much for mentioning that, the start/end addresses of DCCM are from f0040000 to f0043e30. Does that mean there are some problems related to the benchmark compilation? The command I run is make -f $RV_ROOT/tools/Makefile verilator TEST=dhry The Verilator Version is v5.020 |
you need to make sure that your program data /stack, and other data sections fit the physical size of the DCCM. |
Your screenshot shows 64 KB DCCM, which should be sufficient for Dhrystone . BTW, did you run the test out of the box without any modifications as README suggests? |
Yes, I did not modify anything; I simply ran the command make -f $RV_ROOT/tools/Makefile TEST=dhry. I will try to see the waves and thanks for the suggestions. |
|
Hi, I think they misconnected DCCM/ICCM RAMs when moved them from design to testbench. leave only these defines:
and copy this stuff instead of original code
|
Solved! Thank you so much! I really appreciate your help : ) |
Hello,
When I try to simulate the design using existing benchmarks, I observed that benchmarks related to ICCM and DCCM consistently fail to pass the simulation. Notably, the console.log file yields no output in these instances and the simulation results says that the simulation hit max cycle. Could you provide insight into the potential causes of this issue? It's also worth mentioning that other benchmarks, such as "hello_world" and "cmark," successfully pass the simulation. Thank you so much.
The text was updated successfully, but these errors were encountered: