转载:https://blog.csdn.net/wordwarwordwar/article/details/71250232
Vivado套件中的Debugger(类似ISE套件中的ChipScope)提供了在本地窗口中查看硬件实时数据的途径,但是无法导出类似ChipScope中的.prn这种文本数据格式,只能通过write_hw_ila_data命令导出csv或者vcd文件,vcd文件为通用波形文件,只能用来查看;所以只能通过csv文件解析数据。
命令:write_hw_ila_data -force -csv_file test.csv
csv文件的格式如下图,第一行为对象描述行,前面几列(下图中是3列)为采样序号以及触发说明,之后就是采样的数据,从图中可以看出所有数据都是以二进制格式存放的,而且是按10进制表示的(无论怎么调整波形图中数据格式出来的都是一样的)基本无法适用于常规的分析软件。
鉴于此,只能先借用MATLAB强大的数据分析能力,先把数据解析出来。以waveform.csv文件为例进行解析,waveform.csv中的有效数据为第4列到第11列,有效数据是从左到右、从上至下排列的正弦波采样数据,16位有符号数(补码),采样点排列顺序为:
E2->F2->G2....L2->E3->F3->G3….
解析源码如下:
clc;
clear;
close all;
fclose('all');
%% 设置CSV文件读取范围
srow = 1; %起始行(行标从0开始);