vivado----fpga硬件调试(六)--数据导出

转载:https://blog.csdn.net/wordwarwordwar/article/details/71250159

总结一:

 

众所周知,ADC调试不单单是ADC芯片功能的调试,还涉及到后期对ADC芯片的性能评估和验证,这些工作都需要在MATLAB中完成。在ISE开发环境下,一般是这样处理:

1.ChipScope中将需要的数据导出为.prn或者.txt文件

2.在MATLAB中使用函数xlLoadChipScopeData()将文件导入缓存。(需要相应的MATLAB和ISE设置)

 

上述两步就可以在FPGA调试过程中轻松实现对ADC数据的计算处理。

 

然而,令人沮丧的是,在Vivado的debug工具中,并没有发现类似ChipScope中数据导出功能。在一番查找之下,在Vivado使用的相关文档中确定了要实现该功能的Tcl命令。由于MATLAB中没有找到类似xlLoadChipScopeData()的函数可以直接将Vivado中导出的数据导入缓存,作为一个FPGA工程师,不得不面临这个不大不小的问题。在处理这个问题的过程中,也看到网上的很多朋友也在探讨这个问题,但并没有给出一个确切的解决途径,希望下面的方法能帮助到遇到同样问题的同学。

 

参考步骤:
1.在线调试过程中,在tcl console 命令行窗口中输入:
write_hw_ila_data[upload_hw_ila_data]

2.将上面导出的数据直接在MATLAB中解压:
unzip(‘file_name’,'tmp')

3.将上面解压出来的文件夹中的.csv文件读入MATLAB 。

 

上面的处理方法仅供有需要的同学参考,也许繁琐了些,但在暂时没有官方支持函数工具的条件下,也算是一个行之有效的办法了。

 

 

总结二:

 

 

Vivado下debug后的波形通过图形化界面并不能保存抓取到波形,保存按钮只是保存波形配置,如果需要保存波形需要通过TCL命令来实现:

write_hw_ila_data0730_ila_1 [upload_hw_ila_data hw_ila_1]
write_hw_ila_data 0730_ila_2 [upload_hw_ila_data hw_ila_2]

0730_ila_1为保存的文件名,需要带路径,hw_ila_1为你的ILA的名字,

 

如果要读取已保存的波形,可以用下面的命令:

read_hw_ila_data 0730_ila_1.ila
       display_hw_ila_data
       read_hw_ila_data 0730_ila_2.ila
       display_hw_ila_data

 

 

总结三:

 

 

这一段时间遇到、听到、看到使用vivado的困惑。这些困惑,会让初次接触者,产生畏难的情绪。现共享出来,以共勉。

1.  vivado安装在32位计算机上,很遇到不少莫名其妙的现象。   通过交流以及自己开发遇到的情况,经常会发现VIVADO在使用期间出现很多莫名其妙的现象。通过比较对比,发现64的win7操作系统就没有这些莫名其妙的错误提示等等。

 

2.  很多人习惯使用Chipsope Pro来调试。Vivado跑出的bit能否支持呢?  答案是肯定的。请参考UG908 (v2013.4) 的 Using Legacy Debug Cores in Vivado Designs章节。 另外,有人还发现chipscope pro 和vivado debug在调试中各有各的长处,能否同时使用这两种方法呢?答案同样是肯定的。请参考UG908 (v2013.4) Using Vivado Logic Analyzer and ChipScope Pro Analyzer Simultaneously。

 

3.  很多做信号处理算法的工程师,经常使用chipscope抓数,然后保存为文本格式后,供MATLAB读取来分析数据.现在很多人发现vivado似乎没有该功能了。有两种方法:1使用上面提到的方法,使得vivado跑出的bit能供chipscope使用不就解决了嘛。2.第二种方法,直接在vivado中保存数据。只不过这种方法在vivado的IDE中没有在菜单对应的命令,目前该方法只支持TCL脚本的方式.请参考UG908 (v2013.4) Saving and Restoring Captured Data from the ILA。

Saving Captured ILA Data to a FileCurrently, the only way to upload captured data from an ILA core and save it to a file is to

 use the following Tcl command:        write_hw_ila_data my_hw_ila_data_file.zip [upload_hw_ila_data hw_ila_1]。

This Tcl command sequence uploads the captured data from the ILA core and writes it to an archive file called:                    

                                                         my_hw_ila_data_file.zip. The archive file contains the waveform Core。

 

4.  说到这里不得不说一个事情,现在有第三方的公司提供软件,不需要这么多步骤,直接可以将数据获取出来,进行各种分析。这就是xilinx的VIVADO肯定有在软件上有接口,可以提供这些抓出来的数据。只不过这些接口目前还没有给大家公示出来。

posted @ 2018-11-08 21:05  黄小鱼  阅读(5272)  评论(0编辑  收藏  举报