使用matlab读取txt的文件生成mif或者hex文件

matlab使用的版本:matlab 2018A

txt文件内的数据格式:

00 00 00 00 00

00 00 00 00 00

00 00 00 00 00

等多维数组。

matlab代码:

clc;clear;close all;a
temp = textread('a.txt','%s');
n=length(temp(:));%计算数组的长度
a=cell2mat(temp);
b = hex2dec(a);
d3 = reshape(b,3,11520);
d12 = reshape(b,12,2880);


%------------  产生一个 24 bit 的mif 文件 
fid=fopen('dsc_data_24bit.mif','w');%打开待写入的.mif文件
fprintf(fid,'WIDTH=24;\n');%写入存储位宽24位
fprintf(fid,'DEPTH=8192;\n');%写入存储深度8192
fprintf(fid,'ADDRESS_RADIX=UNS;\n');%写入地址类型为无符号整型
fprintf(fid,'DATA_RADIX=HEX;\n');%写入数据类型为16进制
fprintf(fid,'CONTENT BEGIN\n');%起始内容 
for i = 0:8191  
        fprintf(fid,'\t%d\t:',i);
        fprintf(fid,'\t%x',d3(1,i+1));
        fprintf(fid,'%x',d3(2,i+1));
        fprintf(fid,'%x',d3(3,i+1));
        fprintf(fid,';\n');
end
fprintf(fid,'END;\n');
fclose(fid);%关闭文件

 

mif的文件就是一个24bit数据宽度的数据。

posted @ 2020-10-29 19:18  hhh-fpga  阅读(896)  评论(0编辑  收藏  举报