Modelsim errore

E

Eglantine

Guest
HI,

Che
sto facendo un RAM su VHDL.Sono in grado di compilare, ma quando cerco la simulazione ho questo messaggio:Attenzione: NUMERIC_STD.TO_INTEGER: metavalue rilevato, restituendo 0Ho già fatto: NumericStdNoWarnings = 1 in modelsim.ini come è stato detto in altri argomenti.

In realtà io non
sono un esperto di VHDL e Modelsim.Vi do il mio codice, forse può aiutare ad aiutare me.

Grazie mille*********************** ************************ RAM
Codice:

IEEE.Numeric_Std.all uso;entità è sync_ram

porto (

orologio: in std_logic;

noi: in std_logic;

indirizzo: in std_logic_vector;

datain: in std_logic_vector;

dataout: out std_logic_vector

);

fine sync_ram entità;architettura di RTL è sync_ramtipo ram_type è array (da 0 a (2 ** address'length) -1) di std_logic_vector (datain'range);

segnale ariete: ram_type;

segnale read_address: std_logic_vector (address'range);iniziareRamProc: processo (orologio) èiniziare

se rising_edge (orologio) e poi

se ='1 ', quindi - écriture

ram (to_integer (unsigned (indirizzo))) <= datain;

end if;

read_address <= indirizzo;

end if;

RamProc fine processo;dataout <= ram (to_integer (unsigned (read_address)));RTL fine architettura;
 
Salve,

Si dovrebbe inizializzare il segnale read_address, ad esempio,
segnale read_address: std_logic_vector (address'range): = (altri =>'0 ');

Al tempo 0 ns Modelsim esegue la riga:
dataout <= ram (to_integer (unsigned (read_address)));

In quel momento è read_address "UUUUUUUUUU" e che è la ragione Modelsim restituisce il messaggio di avviso.

Devas

 

Welcome to EDABoard.com

Sponsor

Back
Top