Home › Forum › Microcontrôleurs & microprocesseurs › VHDL --> lire un élément d'un vecteur

Forum

Veuillez vous identifier avant de répondre ou pour vous abonner à cette discussion

Sujet: VHDL --> lire un élément d'un vecteur

Auteur Message

Bovix

134 messages

Visiteur régulier
Visiteur régulier

Read post 20-06-2011 19:51

Bonjour à tous,

Je reviens sur ma programmation VHDL, mais sur un autre problème que je n'ai pas réussi à résoudre.

Voila l'intitulé du problème : J'aimerai pouvoir lire un élément d'un vecteur (case mémoire). Je m'explique un peu mieux : j'ai un vecteur de 68 cases, et j'aimerai à chaque coup de clock pouvoir lire un autre élément de ce vecteur, donc changer de case.

Pour faire simple j'aimerai lire tout mon vecteur mais bit à bit.

voila déjà ma réflexion :

signal bit_recup : std_logic;
signal cpt_68 : std_logic_vector(6 downto 0)
signal vecteur_68_case : std_logic_vector(67 downto 0);

-- dans un process je vais l'instruction suivante
bit_recup "1000011") then
cpt_68 <= "0000000";
end if;
else
cpt_68 <= "0000000";
end if;
end process Compteur_68E;

Modifié par Bovix le 20-06-2011 19:53

Modifié par Bovix le 20-06-2011 19:54

Modifié par Bovix le 20-06-2011 19:55

Modifié par Bovix le 20-06-2011 19:56

Modifié par Bovix le 20-06-2011 19:57

obdh

229 messages

Habitué
Habitué

Read post 21-06-2011 14:56

Si je comprends bien le problème (le code donné n'est pas clair), il y a un compteur qui pilote en fait un multiplexeur 68 vers 1.
Si le compteur boucle, une solution pourrait être l'écriture sous forme de registre à décalage, si le chargement ne pose pas de problème.
Sinon, l'écriture plus universelle va passer par un process avec une "boucle" de 0 à 67 ( FOR i IN vecteur_68_case'RANGE LOOP), avec comparaison de i avec la sortie du compteur converti pour être comparable
(To_Integer(unsigned(cpt_68)) qui permettra alors de copier la valeur cherchée en cas d'égalité compteur et i.

Veuillez vous identifier avant de répondre ou pour vous abonner à cette discussion