Registre VHDL

Fermé
intracide Messages postés 1 Date d'inscription mercredi 23 septembre 2009 Statut Membre Dernière intervention 23 septembre 2009 - 23 sept. 2009 à 21:39
 cherosa - 23 mars 2014 à 01:32
Bonjour,
je recherche des informations pour les registre à décalage.
Je doit crée deux programme VHDL d'un registre 4 bits avec chargement série et sortie parallèle et un autre avec un chargement parallèle et sortie série.

Voici le premier programme crée (chargement série et sortie parallèle) sans buffer

entity reg_decalage is
port ( hor,raz,entree: in std_logic;
sortie: out std_logic_vector(3downto0));
end reg_decalage;

architecture archi of reg_decalage is
signal decal: std_logic_vector(3downto0);

begin
process(hor,raz)
begin

if raz='0' then decal <= "0000";
elsif (hor'envent and hor='0') then
decal <= entree & decal(3downto0);
end if;
end process;
sortie <= decal;
end archi;


Je pense qu'il est juste mais maintenant je bloque pour faire le suivant chargement parallèle et sortie série
voici le debut

entity reg_decalage is
port(
hor,raz: in std_logic;
entree : in std_logic_vector(3downto0);
sortie : out std_logic);
end reg_decalage;

architecture archi of reg_decalage is ......

Voila je suis completement bloqué quelqu'un peut il m'aider merci

2 réponses

Salut!
Je pense qu'il est un peu tard pour répondre... mais j'ai remarqué dans ton code que
decal <= entree & decal(3downto0);
Or le signal decal est un signal sur 4 bits (de même que ta sortie)... donc ton décalage devrait s'écrire :
decal <= entree & decal(3downto1);
Je me trompe ?

Pour le deuxième registre, tout dépend de ton sujet...

Bonne continuation !
0
deja c'est hor'event et non hor'envent ^^
0