在VIVADO调试过程中,经常需要抓取ila数据进行分析,数据格式为CSV,故介绍几种尝试过的CSV文件读取方法。
csvread
csvread语法简单,按坐标读取数据,常用语法格式:
M = csvread('data.csv',1,5,[1,5,4096,8]);%控制数据读取位置的左上角到右下角
缺点是无法读取字符类的数据,运行时会报错。
importdata
直接读取数据,读完按不同类型分开,常用语法格式:
M = importdata('data.csv');
优点是可以读取多类型的数据,缺点是多类型的数据区分的不好,且会有数据读取不全的情况。
textread
考虑到分析ila数据时,数据通常按列分隔,包含字符,读取时最好的方法就是跳过第一行并读取全部数据,再按行或列分开,故考虑使用textread,常用语法格式:
M = textread('data.csv','%s','delimiter',',','headerlines',1);%%跳过第一行
这里的delimiter用于指出分隔符,读取时会自动跳过分隔符;headlines用于跳过第一行。读取到的数据一般用reshape分开,即得到需要的数据。
待续。