I have design which behaves weird in one specific situation, and stops progressing, which I don't know the reason.
In this design I have added "printfs" to the non-autorun kernels to track the behavior of each single kernel. Interesting I have a kernel as below:
As I run this kernel and dump the output to a file, I can see that the logs are ending like this:
As you can see, the log ends with "plate=2047". In the code we know that we have another "printf" after this one, right away. Logically that "printf" should definitely do the printing and then maybe the blocking happens?
Any idea what is going on? and how this problem can be addressed?
Have you checked the beginning of the log to see how it starts? The compiler might have reordered your printfs. Printf output is dumped after kernel execution, which means your kernel must have executed all the code and exited if you are getting printf output.