Vivado 中数据导入 MATLAB 的方法
这段时间在使用 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 <file_name_be_saved> [upload_hw_ila_data <ila_name>]
2.将上面导出的数据直接在 MATLAB 中解压:
unzip(‘file_name’,'tmp')
3.将上面解压出来的文件夹中的.csv 文件读入 MATLAB 。
上面的处理方法仅供有需要的同学参考,也许繁琐了些,但在暂时没有官方支持
函数工具的条件下,也算是一个行之有效的办法了。如果有朋友可以分享更简单快捷
的办法,欢迎交流。