­

使用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);

結果: