Stap 3: De Code
Alle onze VHDL en XDC code is opgenomen in het bijgevoegde zip-bestand. Voel je vrij om te gebruiken deze code of baseren uw eigen off van ons, echter alstublieft geven krediet waar krediet is te wijten. Verder raden we openen en bewerken van de VHDL voor dit project in de Vivado Webpack versie 2014.4, een gratis software. We gecodeerd in deze versie en onze Basys 3 board is ontworpen om te werken aan de Vivado Design Suite. Door deze omgeving, kan de code worden geüpload rechtstreeks naar de Basys 3-bestuur.
Alternatief is als u zou willen proberen te implementeren van uw eigen code en willen een algemeen richtsnoer van wat we deden, of moet u een verder inzicht in onze code, hier een andere beschrijving van de bestanden. Onze code is onderverdeeld in 3 VHDL bestanden en één XDC bestand.
Het milieu muis-bestand is een hoger niveau bestand dat logica uit de andere twee bestanden roept. Deze module controleert de kracht van de PS/2-muis, gaskraan als het blijkt te zijn inactief. Het doet een beroep op clk_div2 om te vertragen het kloksignaal en op Nascounter te tellen van de verstreken tijd en het vaststellen. Dit bestand ingangen de knop waarde en van de muis PS/2 gegevenswaarde. Het uitgangen, via de PMOD kop, de led en muis vermogenswaarden.
Het bestand clk_div2 is niet onze eigen en werd geschreven door Bryan Mealy. Dit bestand vertraagt het kloksignaal naar een meer bruikbare frequentie voor onze doeleinden. Als lijn 38 is toegelicht, maakte we een enkele bewerking. Door het verlagen van de max_count integer, verhoogden we de klokfrequentie van haar eerdere gegeven waarde, zodat de ingevoerde gegevens van de muis te lezen op een hoog genoeg frequentie voor dagelijks gebruik. Door het verder verminderen van deze waarde, kan de frequentie van de klok worden verhoogd.
Het bestand Nascounter bepaalt welke staat het circuit moet worden in. Het doet dit door het lezen van de muisinvoer PS/2 en tellen van de signalen van de klok. Als de bestanden nu staan, is de beperking van de tijd van de standby-stand ingesteld op 6 seconden. In de weg staat controleren op lijn 68, de waarde kan worden gewijzigd met het oog op een andere standby-lengte van tijd. (Opmerking: de frequentie in clk_div2 zal ook wijzigt, wordt de beperking van de tijd.) Dit bestand stuurt alle uitgangen terug naar milieu muis.
Het XDC bestand muis Basys 3 milieubeperkingen is een gewijzigde versie van het bestand Basys 3 Master beperkingen. We bewerkten het neer alleen bevatten de regels die we nodig voor dit project hadden. Het gaat hierbij om de middelste knop op het bord Basys 3, de USB-ingang, de kop van de PMOD JA, het kloksignaal en de spanning configuratie.
De onbewerkte Basys 3 Master beperkingen-bestand kan worden gevonden op:
https://www.digilentinc.com/products/detail.cfm?na...
Github link naar de broncode: