06-18-2019 05:11 AM
I'm using the ILA in Vivado to monitor internal signals of my design. Usually this works very well and stable. However, when executing certain software on my target, I get the following message in Vivado:
[Labtools 27-3428] Ila core [hw_ila_1] clock has stopped. Unable to arm ILA core.
After re-opening the Hardware Manager and re-connecting to the running board (without reprogramming or resetting it), the ILA works fine again. However, any data collected before the crash is lost.
Here is a summary of my observations:
- The crash is triggered only by running certain software running on the target. Otherwise the ILA works stable.
- The exact point of the crash seems to differ, so I wasn't able to blame a single instruction
- Re-opening the Hardware Manager makes the ILA usable again until re-executing the problematic software
- When attaching an external logic analyzer, the system clock (as provided to the ILA) seems stable
I cannot really see anything that might affect the system clock besides the xilinx_clock_generator.
In contrast to every other thread I found regarding this error, my ILA is fully functional up until the point described above. I also tried to lower the JTAG frequency without any success.
Do you have any hint on what might cause this issue?
06-18-2019 06:59 AM
Does this prior solution give you any insight? https://forums.xilinx.com/t5/Design-Tools-Others/Debug-Error-quot-Labtools-27-3428-Ila-core-hw-ila-0-clock-has/m-p/900688#M12825
Hope that Helps
If so, Please mark as solution accepted. Kudos also welcomed. :-)
06-18-2019 07:29 AM
Hello @xilinxacct ,
Thank you for the reply!
Unfortunately, there seems to be a different issue in my case.
My ILA seems to be set up properly, since it works (i.e. delivers results on trigger) in most cases. Only after executing certain software on the target, the ILA crashes. From my understanding, if there was a principle issue with the hardware setup, the ILA would not work in any case. Is that correct?
06-27-2019 10:57 AM
What does the SW that you execute on the target do?
This error is really cause by what it says, the clock provided to the ILA has been stopped (even if briefly). I suspect that the SW you execute causes that clock to be briefly stopped or change phase, at which point the ILA already considers it not free-running. Once you reopen the HW Manager and refresh the cores, the clock most likely is stable again, so that's why you get to use it again.
By the way, where does the clock that goes to the ILA comes from? Does it passes by any register/flip-flop? What other logic does it clocks?