在使用ILA时候,有时需要保持抓取到的信息保存,以备后续分析。
在xilinx官方手册查询: ‘Vivado Design Suite 用户指南: 编程和调试 (UG908)’手册中可以看到‘使用波形 ILA 触发器和导出功能’;‘保存和复原从 ILA 核采集的数据’。
从该手册看到如下信息:
将采集的 ILA 数据保存到文件
当前将从 ILA 核采集的数据上传并保存到文件的唯一方法是使用以下 Tcl 命令:
write_hw_ila_data my_hw_ila_data_file.ila [upload_hw_ila_data hw_ila_1]
此 Tcl 命令序列会将从 ILA 核采集的数据上传并写入名为 my_hw_ila_data_file.ila 的存档文件。此存档文件包含波形数据库文件、波形配置文件、波形逗号分隔值文件以及调试探针文件。
使用 -csv_file 选项可生成逗号分隔值 (CSV) 文件。这样即可配置 write_hw_ila_data 命令以将 ILA 数据导出至 CSV 格式(而不是默认二进制 ILA 文件格式)的文件,此文件可供用于导入电子表格或第三方应用。
使用 -vcd_file 选项可生成值更改转储 (VCD) 文件。这样即可配置 write_hw_ila_data 命令以将 ILA 数据导出至 VCD 格式(而不是默认二进制 ILA 文件格式)的文件,此文件可用于导入第三方应用或查看器。
从文件恢复采集的 ILA 数据
当前,从文件恢复采集的数据并将其显示在波形查看器中的唯一方法是使用以下 Tcl 命令:
display_hw_ila_data [read_hw_ila_data my_hw_ila_data_file.ila]
此 Tcl 命令序列会读取先前从 ILA 核采集并保存的数据,然后将其显示在“波形 (Waveform)”窗口中。
注释: “ILA 数据波形 (ILA Data Waveform)”窗口的波形配置设置(分频器、标记、颜色、探针基数等)也同样保存在 ILA 采集数据归档文件中。恢复和显示先前保存的任意 ILA 数据时,会使用这些存储的波形配置设置。
请勿使用 open_wave_config 命令打开根据 ILA 采集的数据创建的波形。此命令仅适用于仿真器,对于 ILA 采集的数据波形无效。
实际测试使用
1: 在vivado中,tcl命令存储。
write_hw_ila_data path/my_ila_name_0 [upload_hw_ila_data hw_ila_1]
my_ila_name为保存的文件名,需要带路径,hw_ila_1为需要保持的ILA的名字,[]中为对应的ILA核。
例如,
write_hw_ila_data -csv_file D:/Project_FPGA/ILA_Debug_Data/tph.csv [upload_hw_ila_data hw_ila_1]
注意其中路径是的斜杠和window中路径的斜杠相反。
在tcl console会提示
INFO: [Labtools 27-1966] The ILA core 'hw_ila_1' triggered at 2022-Sep-06 15:23:24
D:/Project_FPGA/ILA_Debug_Data/tph.csv
2:读取:
目前看到不支持读取csv,所以只能写和读都用.ila格式
write_hw_ila_data D:/Project_FPGA/ILA_Debug_Data/tph_2022_9_6.ila [upload_hw_ila_data hw_ila_1]
display_hw_ila_data [read_hw_ila_data D:/Project_FPGA/ILA_Debug_Data/tph_2022_9_6.ila ]
最后关于tcl中可以使用帮助:
display_hw_ila_data -help
write_hw_ila_data -help