使用matlab生成sine波mif文件
- 2019 年 10 月 29 日
- 筆記
使用matlab生成sine波mif文件
在使用altera 的FPGA中的rom過程中常常會使用到.mif文件或.hex文件。對於初學者,無論mif還是hex都是很令人疑惑的東西,這裡就對mif文件的格式及其創建做一點簡單的說明。
Mif是memory initialization file 的縮寫,中文意思就是存儲器初始化文件。直接說就是給rom賦值的文件。下面使用一個簡單的.mif文件舉例:
width=14; %存儲器的位寬 橫向寬度
depth =1024; %存儲器的深度 總共有多少個數據
address_radix=uns; %設置地址基值(實際就是地址用什麼進位的數表示) 可以設為BIN(二進位),OCT(八進位),DEC(十進位),HEX(十六進位)
data_radix=dec; %同上
content begin %開始數據區
0:0; %地址:數據
1:29;
2:57;
3:86;
…
…
…
1023:16008;
end; %結束
Matlab源碼:
clear all
close all
clc
t = [0:0.1:360];%輸入範圍0-90度,步長0.1度
x =pi*t/180;
sin_val = sin(x);
fid=fopen('E:matlab_projectsinsine.mif','wt');
fprintf(fid,'width=14;n');
fprintf(fid,'depth =1024;n');
fprintf(fid,'address_radix=uns;n');
fprintf(fid,'data_radix=dec;n');
fprintf(fid,'content beginn');
for j=1:1024
i=j-1;
k=round(sin_val(j)*16384);
if(k==16384)
k=16383;
end
fprintf(fid,'%d:%d;n',i,k);
end
fprintf(fid,'end;n');
fclose(fid);
plot(sin_val);
結果:
