matlab地址数据类型uns,使用matlab生成sine波mif文件
使用matlab生成sine波mif文件
作者:lee神
在使用altera 的FPGA中的rom過程中常常會使用到.mif文件或.hex文件。對於初學(xué)者,無論mif還是hex都是很令人疑惑的東西,這里就對mif文件的格式及其創(chuàng)建做一點簡單的說明。
Mif是memory initialization file的縮寫,中文意思就是存儲器初始化文件。直接說就是給rom賦值的文件。下面使用一個簡單的.mif文件舉例:
width=14; ?????????%存儲器的位寬 橫向?qū)挾?/p>
depth =1024; ??????%存儲器的深度 總共有多少個數(shù)據(jù)
address_radix=uns; %設(shè)置地址基值(實際就是地址用什么進制的數(shù)表示)可以設(shè)為BIN(二進制),OCT(八進制),DEC(十進制),HEX(十六進制)
data_radix=dec; ????%同上
content begin ??????%開始數(shù)據(jù)區(qū)
0:0; ??????????????%地址:數(shù)據(jù)
1:29;
2:57;
3:86;
...
...
...
1023:16008;
end; ?????????????%結(jié)束
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_project\sin\sine.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 begin\n');
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);
結(jié)果:
歡迎大家關(guān)注我的FPGA微信公眾號FPGA開源工作室以及QQ資料群
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的matlab地址数据类型uns,使用matlab生成sine波mif文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux wifi ip,Linux环
- 下一篇: 脉位调制解调 matlab,通信原理与m