2011-12-10 14 views
5

Sto provando a caricare valori da un file in un array bidimensionale come questo.Alternative a readmemh in Verilog

reg [31:0] RAM[63:0]; 
initial 
     $readmemh("memory.dat",RAM); 

Quali sono le alternative? Se volessi invece codificare i valori, qual è il codice per farlo?

risposta

5

Se si desidera hardcode i valori, basta assegnare ad ogni posizione di memoria:

initial begin 
    RAM[0] = 32'h1234_5678; 
    RAM[1] = 32'h9abc_def0; 
    RAM[2] = 32'haaaa_5555; 
    // etc. 
end 

Un'altra alternativa per $readmemh è quello di utilizzare le funzioni del sistema IO di file, come ad esempio $fopen e $fscanf (fare riferimento alla IEEE standard o la documentazione del simulatore).