Étape 6: Module : Main
Ce module est le contrôle général
module. Tous les autres modules sont appelés de ce module. Ce module a un minimum d’application directe des portes logiques et plutôt appelle d’autres modules et achemine les signaux entre eux.
Les entrées de ce module sont « rawclk », qui est le signal d’horloge 50 MHz (PIN_Y2) et les « clés » qui est un tableau de 8 boutons qui sont saisies de l’en-tête d’extension à la carte de pain de dérivation. La sortie « haut-parleur » est la ligne qui va à la prise d’entrée audio qui se trouve également sur la carte de pain de dérivation. Cette ligne a un condensateur qui modifie le signal d’une forme d’onde rectangulaire à une forme d’onde sinusoïdale. La sortie hex1 et hex2 sont des tableaux de 7 bits qui sont connectés à des écrans de segment sept sur le plateau de DE2. Ils afficheront quelle note se joue à un moment donné. Le fil « statevalue » est une représentation binaire dont remarque est en cours de lecture. Le fil « gkeys » est un tableau qui est le complément de « clés ».
Ce module appelle le module « clavier » pour déterminer quelle note, le cas échéant, doit être jouée et transmet cette information au 'sevsegdiaplay' et 'tonemaker'.