Mudanças entre as edições de "Quartus - Como inicializar uma memória usando arquivos .mif"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
(Criou página com 'Use o Matlab para criar o arquivo filename.mif para escrever 256 signed data de 16 bits. fid = fopen('filename.mif','w'); fprintf(fid,'--MIF data generated by MATLAB\n'); fp...')
 
 
(2 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
Use o Matlab para criar o arquivo  filename.mif para escrever 256 signed data de 16 bits.
+
Use o código para Matlab abaixo para criar o arquivo  data.mif.
  
fid = fopen('filename.mif','w');
+
<code>
fprintf(fid,'--MIF data generated by MATLAB\n');
+
% Gere um arquivo de audio usando o Audacity e exporte como .wav
fprintf(fid,'--Date: %s \n\n', date);
+
% Importando o arquivo .wav
fprintf(fid,'WIDTH=16;\n');
+
clear all;
fprintf(fid,'DEPTH=256;\n');
+
filename = 'data';
fprintf(fid,'ADDRESS_RADIX=UNS;\n');
+
newData1 = importdata([filename '.wav']);
fprintf(fid,'DATA_RADIX=DEC;\n');
+
data = newData1.data;
fprintf(fid,'CONTENT BEGIN\n');
+
plot(data);
for k = 1:256
 
fprintf(fid,'%i : %i;\n',k-1,data(k));
 
end
 
fprintf(fid,'END;');
 
fclose(fid);
 
  
 +
% Definindo o cabeçalho do arquivo .mif
 +
word_len = 13; % numero de bit dos dados na memória
 +
address_len = 9; % numero de bits do endereço da memória
 +
fid = fopen([filename '.mif'], 'wt');
 +
fprintf(fid, 'DEPTH = %6d;\n', 2^address_len);
 +
fprintf(fid, 'WIDTH = %6d;\n', word_len);
 +
fprintf(fid, 'ADDRESS_RADIX = HEX;\n');
 +
fprintf(fid, 'DATA_RADIX = BIN;\n');
 +
fprintf(fid, 'CONTENT\n');
 +
fprintf(fid, 'BEGIN\n');
 +
 +
% Gerando os pares e endereços e dados
 +
for N=1:2^address_len
 +
    dec_num = floor(data(N)*2^(word_len-2));
 +
    bin_num = signed2bin(dec_num,word_len);
 +
    fprintf(fid, '%6.0x : %s ;\n', N-1, bin_num);
 +
end
 +
fprintf(fid, 'END;');
 +
fclose(fid);
 +
 +
</syntaxhighlight>
 
FONTE: http://www.alteraforum.com/forum/showthread.php?t=27934&highlight=text+to+mif+conversion
 
FONTE: http://www.alteraforum.com/forum/showthread.php?t=27934&highlight=text+to+mif+conversion

Edição atual tal como às 19h26min de 26 de fevereiro de 2013

Use o código para Matlab abaixo para criar o arquivo data.mif.

% Gere um arquivo de audio usando o Audacity e exporte como .wav % Importando o arquivo .wav clear all; filename = 'data'; newData1 = importdata([filename '.wav']); data = newData1.data; plot(data);

% Definindo o cabeçalho do arquivo .mif word_len = 13; % numero de bit dos dados na memória address_len = 9; % numero de bits do endereço da memória fid = fopen([filename '.mif'], 'wt'); fprintf(fid, 'DEPTH = %6d;\n', 2^address_len); fprintf(fid, 'WIDTH = %6d;\n', word_len); fprintf(fid, 'ADDRESS_RADIX = HEX;\n'); fprintf(fid, 'DATA_RADIX = BIN;\n'); fprintf(fid, 'CONTENT\n'); fprintf(fid, 'BEGIN\n');

% Gerando os pares e endereços e dados for N=1:2^address_len

   dec_num = floor(data(N)*2^(word_len-2));
   bin_num = signed2bin(dec_num,word_len);
   fprintf(fid, '%6.0x : %s ;\n', N-1, bin_num);

end fprintf(fid, 'END;'); fclose(fid);

</syntaxhighlight> FONTE: http://www.alteraforum.com/forum/showthread.php?t=27934&highlight=text+to+mif+conversion