matlab生成mif文件

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_39543472/article/details/84499963

mif文件作为FPGA ROM IP的数据文件,可以用一些软件生成,如https://download.csdn.net/download/qq_39543472/10806304

当然,一般软件生成的波形较少,推荐使用Matlab产生数据。

clc
clear
t=1/256:1/256:1;
a=(2^15-1)*sin(2*pi*t);
q = quantizer([16,0]);
y = num2hex(q,a);                      %generate data

fid = fopen('data.mif','w');
fprintf(fid,'%s\n','DEPTH = 256;');
fprintf(fid,'%s\n','WIDTH = 16;');
fprintf(fid,'%s\n','ADDRESS_RADIX = HEX;');
fprintf(fid,'%s\n','DATA_RADIX = HEX;');
fprintf(fid,'%s\n\t','CONTENT');
fprintf(fid,'%s\n','BEGIN');
for i=1:length(a)
   fprintf(fid, '%04X',i-1);            %address
   fprintf(fid, '%s',' : '); 
   fprintf(fid, '%s',y(i,1));
   fprintf(fid, '%s',y(i,2));
   fprintf(fid, '%s',y(i,3));
   fprintf(fid, '%s\n',y(i,4));
end
fprintf(fid,'%s\n','END ;');
fclose(fid);

部分代码参考:https://blog.csdn.net/qq_39543472/article/details/84499151

猜你喜欢

转载自blog.csdn.net/qq_39543472/article/details/84499963