用ILA抓取数据的时候出错有时候抓不到数据,出现如下错误:
ERROR: [Xicom 50-38]xicom: Multiple trigger marks in window: 0, buffer index: 1.ERROR: [Xicom 50-41] Waveform data read fromILA core is corrupted(user chain=l, slave index=l).Resolution:1)Ensure that the clock signalthe debug core and/or debug hub is clean and free running.debug core and/or debug hub meets all timing constraints.2)Ensure that the clock connected to the3) Ensure that the clock connected to debug core and/or debug hub is faster than the JTAG clock frequencyERROR: [Xicom 50-38]xicom: Error during interpreting trace readback dataERROR: [Labtools 27-3176]hw server failed during internal command.Resolution: Check that the hw server is running and the hardware connectivity to the target
这个时候需要检查管脚约束文件,因为我这里使用的ILA是150MHz的抓取频率,但是在XDC中设置的是25MHz
connect_debug_port dbg_hub/clk [get_nets DRP_CLK_25M]
说明此时的调试核心时钟才25MHz,这个时候时钟频率太小,抓取数据并且传输数据频率不够快,这个时候就会出现抓不出来数据,出现上述图片的错误。
修改方式:
如果你有一个更高频率的时钟信号源(如100 MHz或300 MHz),可以尝试将这个信号连接到dbg_hub/clk。
如一个200MHz的时钟:
`connect_debug_port dbg_hub/clk [get_nets clk200M]`
如果你没有高频时钟源,可以在设计中添加PLL或MMCM(clock wizard ip核)来倍频现有的25 MHz时钟。例如,将25 MHz时钟倍频为100 MHz,然后连接到调试核心:
如果是name 里面就没值,说明没有添加进来,可以看我另一篇文章:https://blog.csdn.net/burse_liu/article/details/140024555