Bonjour tout le mode,
Je ne sais pas comment faire pour enregistrer une donnée dans un registre dans une case mémoire.
Comment manipuler les mémoires pour y insérer les données en VHDL
Merci de votre aide
-----
15/11/2010, 20h43
#2
jiherve
Date d'inscription
juin 2006
Localisation
gironde
Âge
72
Messages
26 745
Re : Vhdl
Bonsoir,
il faut déclarer un type qui sera une array du genre de données que tu veux stocker:
....
type array_mem is array (0 to size-1) of integer(std_logic_vector, unsigned, ...,...);
signal mem : array_mem;
signal write : boolean;
signal data : integer(std_logic_vector, unsigned, ...,...);
signal addr : integer range 0 to size-1;
...
Begin
Process(write, data,addr);
begin
if write then
mem(addr) <= data;
end if;
end process;
Il vaut mieux utiliser un process synchrone, mais à partir de ce que je te donne c'est facile.
cela suppose aussi que le compilateur fasse une inférence correcte du bloc mémoire. Que cela soit chez Xilinx ou Altera il existe des macros adaptées à la géneration de mémoire, c'est moins portable mais beaucoup plus efficace.
JR