It is useful to understand the relationship between the hw_ila_data captured ILA data object and the waveform, as shown in the following figure.
The hw_ila Tcl object represents the ILA core in hardware. Every time an ILA core uploads captured data, it is stored in memory in a corresponding Tcl hw_ila_data object. These objects are named predictably so the first ILA core in hardware 'hw_ila_1' produces data in a corresponding Tcl data object named 'hw_ila_data_1' after trigger and upload. When working online with hardware, every waveform is backed by the in-memory hw_ila_data object and has a 1:1 correspondence with this object illustrated by the diagram in the previous figure. For each Tcl hw_ila_data object, a wave database (WDB) file and wave configuration (WCFG) file are created and automatically tracked in a directory of the Vivado project. The previous figure illustrates the flow of data from the hardware hw_ila on the left through to the waveform display on the right.
The combination of the wave configuration, WCFG, file and wave transition database, WDB, file contain the waveform database and customizations displayed in the Vivado waveform user interface. These waveform files are automatically managed in the Vivado ILA flow and users are not expected to modify the WDB or WCFG files directly. The wave configuration can be modified by changing objects in the waveform viewer (such as signal color, bus radix, signal order, markers, etc). This automatically saves the wave configuration changes to the appropriate WCFG file in the Vivado project.
It is possible to archive waveform configurations and data for later viewing by using the Tcl command write_hw_ila_data. This stores the hw_ila_data, wave database and wave configuration in an archive for later viewing offline. See the section, Saving and Restoring Captured Data from the ILA Core for details on using read_hw_ila_data and write_hw_ila_data for offline storage and retrieval of waveforms.