有的时候,我们需要将FPGA采集到的数据进行显示,通过MATLAB分析,那么需要读取FPGA的片上数据。我们以quartusii为例子,其片上数据采集到的文件格式为tbl文件,这个时候,我们编写如下程序来读取tbl文件。
function data_dec = tbls(name);fid=fopen(name,'r');%文件的路径yy=fscanf(fid,'%s');fclose(fid);aa=find(yy=='='); %找出“=”的下标i=0;for j=1:length(aa)if yy(aa(j))=='=' %滤除说明中的“=”i=i+1;data_hex(i,1)=yy(aa(j)+1);data_hex(i,2)=yy(aa(j)+2);data_hex(i,3)=yy(aa(j)+3);data_hex(i,4)=yy(aa(j)+4);data_hex(i,5)=yy(aa(j)+5);data_hex(i,6)=yy(aa(j)+6); data_hex(i,7)=yy(aa(j)+7); end end data_dec=hex2dec(data_hex); %将十六进制数转为十进制数
调用上述子函数,我们可以实现tbl文件的读取。