mif文件的格式
width=
depth=
address_radix=
data_radix=
content
begin
00: ;
01: ;
02: ;
....
end;
关于address_radix和data_radix可用的格式
you can specify data radixes as binary (BIN), hexadecimal (HEX), octal (OCT), signed decimal (DEC), or unsigned decimal (UNS) to display and interpret addresses and data values. Data values must match the specified data radix
所以只需要用matlab生成中间部分的数,然后添加头尾格式就可以了,当然文件后缀一定得是.mif
matlab例子
clc
clear all
n=[1:1000];
ratio=0.125;%ratio means fo/fs;
sintemp=sin(2*pi*ratio*n);
sinround=round(sintemp*(2^7-1));
for i=1:1000
if(sinround(i)<0)
sinround(i)=2^8+sinround(i);
end
end
sindata=sinround;
mixdata=[n;sindata];
fid=fopen('data.txt','a');
fprintf(fid,'%x : %x;
',mixdata);
fclose(fid);
需要注意的是,fprintf函数%x的话不能是负数,负数要转为补码,fprintf打印矩阵的元素的话是按从上到下,再从左到右的顺序挨个print。