Stap 6: Module: Main
Deze module is de algemene controle
module. Alle andere modules worden aangeroepen vanuit deze module. Deze module heeft een minimale hoeveelheid directe uitvoering van logic-poorten in plaats daarvan vraagt andere modules en traject van signalen tussen hen.
De ingangen naar deze module zijn 'rawclk', oftewel het kloksignaal 50 MHz (PIN_Y2) en 'toetsen', die een serie van 8 knoppen die zijn ingevoerd vanuit de kop van de uitbreiding aan de breakout brood bestuur. De uitgang 'spreker' is de lijn die gaat naar de audio-aansluiting die ook op het bord breakout brood. Deze lijn heeft een condensator die het signaal van een rechthoekig golfvorm naar een sinus golfvorm wijzigt. De output hex1 en de hex2 zijn 7 bit arrays die zijn verbonden met zeven segment displays op het bord DE2. Ze wordt weergegeven welke noot wordt gespeeld op een bepaald moment. De draad 'statevalue' is een binaire vertegenwoordiging van die opmerking op dit moment wordt afgespeeld. De draad 'gkeys' is een matrix die is het compliment van 'toetsen'.
Deze module roept de module 'keyboard' om te bepalen welke opmerking, indien aanwezig, moet worden gespeeld en geeft deze informatie aan 'sevsegdiaplay' en 'tonemaker'.