Salut!
A l'école on a en projet de faire un jeu de réaction en VHDL qu'on simulera sur un FPBA. Le principe est qu'un chiffre s'affiche au bout d'un certain temps (aléatoire) et il faut appuyer sur le bouton correspondant à ce numéro. Puis on affiche le temps de réaction.
Donc j'ai plusieurs modules qui marchent chacun individuellement. Pour les mettre ensemble si j'ai bien compris je dois créé un module principale qui va simplement créer des instance de chacun de mes modules (mapping) ? Je me suis inspiré de ça : http://vhdlguru.blogspot.com/2010/03...y-of-port.html
Donc c'est ce que j'ai fait, ça marche tous mes modules sont connectés (dans la simulation logiciel), j'ai pas encore essayé de le synthétisé.
Si on regarde le code ci dessous, on dit que le signal d'entré "a" et "b" du module à mapper contient le signal "a" et "b" du module mère, et que la sortie "sum" et "carry" du module ira dans le signal interne (déclaré plus haut) du module mère.
Question 1Code PHP:
architecture behavior of fulladder is
signal s1,c1,c2 : std_logic:='0';
begin
HA1 : entity work.halfadder port map(
a => a,
b => b,
sum => s1,
carry => c1
);
end;
onc si j'ai bien compris, mon module mère va récupérer les signal OUT de tous mes module (exemple avec sum et carry) et les stockera dans des signaux internes ? Puis ensuite je les utilises comme je veux, je les mets dans les entrés d'autres module etc. C'est bien ça ? Tout les signaux de mon circuit passeront dans ce module mère ?
Moi l'idée que je me faisais au tout départ c'était que dans chaque module on choisit le même nom pour le signal et qu'automatiquement ça ferait la connexion. Par exemple j'ai Module1 qui a une sortie "S", si mon Module2 a besoin d'avoir ce signal "S" en entré, il suffisait de déclarer une entré "S". Mais apparemment c'est pas le cas.
Question 2: Dans mon jeu il y a plusieurs état (Menu, attente, contrôle du bouton, gagné, perdu) et je gère ça dans un process. En paramètre du process, est-ce que je mets la seulement clock, qui est tellement rapide qu'on croisera que le changement d'état est instantané, ou alors je mets mes entrés (exemple mon bouton start, mes autres boutons, etc.) ainsi le changement d'état instantanément.
Merci d'avance!
-----