Stap 3: Verilog Code
Als u wilt testen van de code in de proefbank vóór eigenlijk het aansluiten van het toetsenbord kunt u wrapper.v en TestingKeyboard.v modules.
Er is slechts één module, genaamd Keyboard.v, waar alle code is. Het zou beetje moeilijk te begrijpen van de code, maar als je de PS2 interface handleiding en de voorgaande sectie leest, alles moet opruimen.
De pseudocode voor deze module is:
Twee items worden gebruikt binnen deze module:
-> DOWNCOUNTER wordt gebruikt om de frequentie 250 keer als TRIGGER is geactiveerd of dat gebeurt.
-> count_reading graven omhoog als niet een volledige pakket van 11 bits is nog niet ontvangen. (later gecontroleerd als dit nummer 4000 bereikt...)
Deze module de informatie heeft ontvangen en gecontroleerd als het OK.
-> Als de TRIGGER is geactiveerd, dan controleren als de PS2_CLK veranderd de status
--> Als de staat gewijzigd en als de klok aan dalende rand is doen:
---> Toevoegen van de DATA-bit die momenteel was ontvangen naar de vorige bits
---> Mark neer dat men meer bits werd ontvangen
---> Als 11 stukjes werden ontvangen, leiden tot een ander signaal, vertellen dat het klaar is met lezen
---> Check de pariteitsbit als de verkregen informatie OK is
---> Mochten 11 bits niet kreeg controleren als het duurde meer dan 4000 keer voor count_reading om te tellen omhoog na het ontvangen van de vorige bit.
--->- en alles resetten indien ze zijn er meer. Anders slaat u dit op.
Een andere kleine module haalt de informatie op:
-> Wachten op de trigger, waarmee wordt gecontroleerd of de volledige pack van 11 bits is ontvangen
--> Als er is een fout opgetreden bij het ontvangen pakket, Alles negeren.
---> De gegevensbits als de informatie OK was maar te halen.
U kunt nu doen wat je wilt met de opgehaalde gegevens. Bijvoorbeeld, kunt u kijken voor pijl persen en vervolgens omhoog/omlaag sommige LED-register, die oplichten van LEDs... Of gebruik de pijl persen naar besturingselement Snake spel :)