mif文件作为FPGA ROM IP的数据文件,可以用一些软件生成,如mif文件生成器_图片转化mif格式生成软件-硬件开发工具类资源-CSDN下载。
当然,一般软件生成的波形较少,推荐使用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',y(i,4));
fprintf(fid, '%s\n',';');
end
fprintf(fid,'%s\n','END ;');
fclose(fid);