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
 
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.
  
 +
<code>
 
% Gere um arquivo de audio usando o Audacity e exporte como .wav
 
% Gere um arquivo de audio usando o Audacity e exporte como .wav
 +
% Importando o arquivo .wav
 
clear all;
 
clear all;
 
filename = 'data';
 
filename = 'data';
Linha 7: Linha 9:
 
data = newData1.data;
 
data = newData1.data;
 
plot(data);
 
plot(data);
 +
 +
% Definindo o cabeçalho do arquivo .mif
 
word_len = 13; % numero de bit dos dados na memória
 
word_len = 13; % numero de bit dos dados na memória
 
address_len = 9; % numero de bits do endereço da memória
 
address_len = 9; % numero de bits do endereço da memória
% Definindo o cabeçalho do arquivo .mif
 
 
fid = fopen([filename '.mif'], 'wt');
 
fid = fopen([filename '.mif'], 'wt');
 
fprintf(fid, 'DEPTH = %6d;\n', 2^address_len);
 
fprintf(fid, 'DEPTH = %6d;\n', 2^address_len);
Linha 17: Linha 20:
 
fprintf(fid, 'CONTENT\n');
 
fprintf(fid, 'CONTENT\n');
 
fprintf(fid, 'BEGIN\n');
 
fprintf(fid, 'BEGIN\n');
 +
 
% Gerando os pares e endereços e dados
 
% Gerando os pares e endereços e dados
 
for N=1:2^address_len
 
for N=1:2^address_len
Linha 25: Linha 29:
 
fprintf(fid, 'END;');
 
fprintf(fid, 'END;');
 
fclose(fid);
 
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