这段时间在使用Xilinx公司的7系列FPGA,调试一款TI公司的高速ADC。鉴于目前Xilinx已经停止了对ISE开发组件的维护更新,所以果断将开发环境转到Vivado上来。
众所周知,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 。
上面的处理方法仅供有需要的同学参考,也许繁琐了些,但在暂时没有官方支持函数工具的条件下,也算是一个行之有效的办法了。如果有朋友可以分享更简单快捷的办法,欢迎交流。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)