8-stegs FPGA Sequencer och Synthesizer (3 / 6 steg)
Steg 3: Knyta komponenterna som tillsammans
När du har skapat alla nödvändiga VHDL moduler, måste dessa komponenter kopplas ihop. Blocket diagrammet ovan visar hur alla dessa komponenter är anslutna.
Nu kommer vi att diskutera varför dessa komponenter är anslutna på samma sätt som de är.
Del 1: Öka frekvens
Kan börja med knappen 1, vilket ökar den nuvarande tonar frekvensen. Denna ingång har först gå igenom en debouncer, så att signalen ska endast växlas en gång för varje knapptryckning. Nästa, debounced signalen skickas till pulse generator modul. Detta säkerställer att den aktuella tonen kommer att ökas en gång och endast en gång med varje knapptryckning. Produktionen av pulserageneratorn går till räknaren, som lagrar och ökar den aktuella tonen. Produktionen av disken går till den sseg_dec modulen, så att den aktuella frekvensen visas på Nexys2 styrelsens sju segment display. Utdata skickas också till ingången på varje D Flip-Flop, redo att bli "räddad" i relevanta takt.
Del 2: Togglande spela upp och pausa
Nästa vi kan undersöka hur knappen 3, som växlar mellan spela upp och pausa, ansluter till kretsen. Först går signalen via en debouncer för staten växlar endast en gång för varje knapptryckning. Produktionen av debouncer ansluter till knappen Växla krets, som övergångar mellan höga och låga varje gång indata går från låg till hög (dvs varje gång knappen trycks ner). Tar 3-bitars räknare använder utdata från knappen Växla som en aktivera signal, så när som helst växla är hög, räknaren ökar värdet kontinuerligt. Med andra ord representerar produktionen av växla om kretsen är i tillståndet spela eller pausa. Räknaren håller reda på den aktuella beat som spelas av syntet.
Disken är ansluten till en frekvens avdelare så det ökar värdet på en rimlig hastighet. Den hastighet som counter steg är också representativ för BPM (slag per minut) av syntet. Produktionen av räknaren ansluter till lysdioder över växlar i Nexys2 styrelsen, vilket ger en lätt uppgift som beat för närvarande spelas. Produktionen går också till multiplexorn Välj signal. Syftet med multiplexorn förklaras i del 4.
Del 3: D Flip-Flops
D vippor utgör en kritisk del av syntet. Varje flip-flop representerar en av de åtta olika beats. Varje flip-flops lagrar tre bitarna som representerar tonen spelas på det beat. När Aktivera signalen är hög, uppdaterar flip-flop dess utgång Q till vad är ansluten till sin ingång D. I denna krets, är D ansluten till oavsett frekvens lagras för närvarande av räknaren i Del1. Aktivera signalen ansluts till och AND-gate, vilket betyder att aktivera signalen kommer att vara hög när båda relevanta ingångarna är sanna. Den första ingången är växeln motsvarar det beat. Den andra ingången är knapp 2, knappen "Spara". Med andra ord, för att mata in en ny frekvens en viss takt, användaren måste aktivera växeln rätt, och tryck sedan på Spara knappen. Observera att knappen 2 inte är ansluten till en debouncer, eftersom det ingen spelar roll om D flip-flop uppdaterar flera gånger när användaren trycker på en knapp.
Vippor har en annan ingång, som är tydlig eller Återställ. Denna ingång är ansluten till knapp 4, så varje gång knappen trycks vippor kommer att återgå till en produktion av 000(binary). Obs att denna knapp också inte kräver en debouncer, som återställer banan flera gånger per knapptryckning ger samma resultat som resetting den en gång. Slutligen går resultaten av alla vippor till multiplexorn, vars funktionalitet kommer att förklaras i nästa avsnitt.
Del 4: Multiplexorn och talaren
Den sista delen av denna krets är multiplexer och högtalare produktionen. Syftet med en multiplexer är att välja mellan flera olika ingångar att ge en utgång. I det här fallet måste en av åtta möjliga toner lagras av var och en av åtta vippor väljas för att matas ut till högtalaren. Den rätta tonen bestäms av Välj signalera, som är ansluten till den räknare som håller koll på beat. Med andra ord, så länge kretsen är i tillståndet spela, Välj signalen kommer att öka från 000(binary) till 111(binary), och produktionen av multiplexorn kommer igenom var och en av flip-flop utgångarna.
Produktionen av multiplexorn är ansluten till en fyrkantsvåg generator. Baserat på 3-bitars indata, att fyrkantsvåg generatorn växla dess utsignal att producera en fyrkantsvåg med en viss frekvens. Denna våg skickas sedan till talaren, som kommer att spela den rätta tonen.