06-30-2020 04:20 PM
The ILA is a very useful tool when debugging designs in a live system, it helps to cover scenarios that cannot be replicated in simulation or unexpected coroner cases, during the design cycle we go thru several iteration of ILA insertion, unfortunately I did not see any improvements in its usability in the recent years, and is still a tedious process, I want to use this forum so we users can give our inputs to the Xilinx developer to consider.
Starting with Vivado 2019.x the ILA GUI become very unresponsive, a SR is already opened in on this, waiting for a fix, Vivado 2020 still has the problem.
Using XDC file for “set_property MARK_DEBUG …” for me is the most practical way as I do not have to touch the source codes, this file can be edited manually or the property can be set from the RTL Elaborated schematic, however:
RTL Elaborated schematic insertion, is unfriendly to add signal to probe from RTL Elaborated schematic, I must select each single net at a time, open its properties pane and check the MARK_DEBUG box;
For busses the same, I need select each single bit of the bus, open the properties pane and check the MARK_DEBUG box.
It would be good to be able to select one or more nets, or busses right in the schematic view or in the netlist pane, right click the mouse and select a "mark debug" option.
To be able to select nets to probe at RTL view level is more important than if done after synthesis as nets and logic get optimized and we may lose visibility of them.
Using XDC file for “set_property MARK_DEBUG …” the signal name sometime is not preserved, and busses sometime are sliced, this I was told is because the xdc is read in after the initial elaboration, where some optimization are already done, I hope this can be fixes, but there are cases where the signal name is still present in after synthesis netlist, but somehow changes after implementation.
Sort by name, initially seems are put in some random order, sorting helps organize them by hierarchical path too.
Name and Value columns to change width independently, now changing one affects the other.
Option to save the complete waveform settings as they are, with all grouping, coloring renaming, dividers and styles as they are, so to be loaded later, and when the setting is reloaded if the ltx changed, then the gui should match signals that are the same even if probe number changed and remove signal non existing any more, we could then add the new signals if any.
After a waveform capture, if ILA is disconnected or system powered down, the waveform disappears, I know I could have saved it first, but I think the waveform should not disappear and allow us to view it and save later if needed.
Add Probe windows:
Sort by name.
While adding to the waveform, if momentarily go to the waveform window to arrange signals, the probe window disappears, need to be reopened and if any filtering was set reapply them, it should stay on until closed or press OK
Some indication in the Add Probe window of which signals are already added in the waveform.
Please users add your suggestions too.
08-12-2020 11:25 AM
In post-synthesis "Set Up Debug", if you need to probe multiple clock domain, you end up with a separate ILA each, have the option to enable cross-trigger, trigger all from any ILA, currently seems can be done only if instantiating ILA and connect the trigger ins and trigger outs.
In the ILA waveforms GUI, each ILA has its own Run Trigger icons, have also option for Run all triggers.