Étape 8: Descriptions de Modules VHDL
Module Linear_FB_Register (Random Number Generator)
Ce module est ce qui génère un nombre aléatoire. Sur le front montant d’horloge, le nombre 8 bits de sortie sera « 00001111 » ou 15 en décimal si la réinitialisation est « 1 ». Le reste du temps un nombre aléatoire est généré en permanence.
Module D_FF (Flip-flop D)
Ce module est un flip-flop D. Son entrée obtient la sortie du générateur de nombres aléatoires. Sur le front montant d’horloge, si l’option Activer (bouton) est « 1 », puis l’entrée est verrouillée et, par conséquent, la sortie de la bascule.
sseg_dec (affichage de sept segments décodeur) Module
Ce module a été écrit par Bryan Mealy de California Polytechnic State University le 16 décembre 2010. C’est un pilote d’afficheur 7 segments à quatre chiffres. Il prend à la sortie numéro 8 bit de la bascule D et le convertit en un nombre décimal. Le nombre décimal est alors affiché sur l’afficheur 7 segments sur le plateau de Nexys2.
clk_div1 Module (diviseur d’horloge)
Ce module a été écrit par Bryan Mealy de California Polytechnic State University le 27 décembre 2010. Il prend de la fréquence de l’horloge et le divise en une fréquence plus lente. Cette fréquence plus lente est utilisée comme l’horloge pour le générateur aléatoire de nombres et de la bascule D.
COMP_8bit (8 bits comparateur) Module
Ce module compare l’entrée de nombre binaire joueur au nombre aléatoire qui s’affiche sur l’afficheur 7 segments. Si les deux nombres sont identiques, alors la sortie est qu’ils sont égaux. Si les numéros ne sont pas égaux, alors le résultat est qu’ils sont soit inférieur ou supérieur.
Module Game_State
Ce module est une machine à états finis, voir schéma ci-dessus. Ses deux États sont à gagner et perdent. Si la sortie de l’élément de comparaison est égal et non moins supérieurs et inférieurs, puis le jeu est dans la victoire de l’État. Si le résultat est inférieur ou supérieur à et pas égal, puis le jeu est en état de perdre.
Module LED_Matrix_Display (jeu résultat)
Ce module indique si réponse du joueur est correcte ou incorrecte. Si l’état du jeu est de gagner, alors le joueur est correct et le vert 8 LEDs sur la carte de Nexys2 sera sur. Si l’État est perdent alors le jeu est incorrect et le rouge LED de la matrice de LED externe sera sur.