專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計實(shí)例 >> 瀏覽文章

生成用于fpga的mif文件的matlab函數(shù)

作者:pplxlee   來源:pplxlee的空間   點(diǎn)擊數(shù):  更新時間:2014年06月08日   【字體:

 

 
function generatemif(A,str)
%功能:輸入矩陣和文件名,生成mif文件,保存在默認(rèn)路徑中
%A為任意矩陣 ,str為生成文件的名字,不含后綴名
%----------------------------------------- 
%計算儲存單元數(shù)
A=round(A);
SizeA=size(A);
line=SizeA(1); %行數(shù)
row=SizeA(2); %列數(shù)
depth =line*row; %存儲器的單元數(shù)
%-----------------------------------------  
%計算數(shù)據(jù)寬度
m1=max(max(A))+1;
m2=max(max(-A));
index=0;
while m1>2^index || m2>2^index
    index=index+1;
end 
widths = index+1; %數(shù)據(jù)寬度為index+1位
%-----------------------------------------  
%生成文件 
tempstr='.mif';
str=strcat(str,tempstr);
fidc = fopen(str,'wt');
fprintf(fidc , 'depth = %d;\n',depth);
fprintf(fidc, 'width = %d;\n',widths);
fprintf(fidc, 'address_radix = UNS;\n');
fprintf(fidc,'data_radix = DEC;\n');
fprintf(fidc,'content begin\n');
for i = 1:line
    for j=1:row
    fprintf(fidc,'%d:%d;\n',(i-1)*row+j-1,A(i,j));
    end
end
    fprintf(fidc, 'end;');
fclose(fidc);
 
關(guān)閉窗口

相關(guān)文章