Étape 3: Verilog Code
Pour tester le code dans le banc d’essai avant de réellement se connecter le clavier, vous pouvez utiliser des modules de TestingKeyboard.v et de wrapper.v.
Il n’y a qu’un seul module, appelé Keyboard.v, où est tout le code. Il serait un peu difficile à comprendre le code, mais si vous lisez le manuel de l’interface PS2 et de la section précédente, tout devrait effacer.
Le pseudo-code pour ce module est :
Deux compteurs sont utilisés dans ce module :
-> RÉGRESSIF sert à amener la fréquence 250 fois comme déclencheur est déclenché météo qui se passe.
-> Comtes de count_reading up si pas un paquet complet de 11 bits est encore reçu. (plus tard, il vérifie si ce nombre atteint 4000...)
Ce module reçoit les informations et vérifie si c’est OK.
-> Si le déclencheur est déclenché, puis vérifiez si le PS2_CLK a changé son état
--> Si l’État a changé et si l’horloge est sur front descendant :
---> Ajouter le peu de données actuellement reçue aux bits précédents
---> Mark vers le bas que l'on reçut un peu plus
---> Si 11 bits ont été reçus, de déclencher un autre signal, en disant qu’il fini de lire
---> Cocher le bit de parité si l’information reçue est OK
---> Si 11 morceaux n’ont pas reçu de chèque si il a fallu plus de 4000 fois pour count_reading à compter vers le haut après avoir reçu le bit précédent.
--->- et tout réinitialiser si il a fallu plus. Sinon passe-le.
Un autre petit module extrait les informations sur :
-> Attendre pour la détente, qui vérifie si le pack complet de 11 bits a été reçu
--> S’il y avait une erreur dans le paquet reçu, tout jeter.
---> Cependant extraire les bits de données, si l’information était OK.
Maintenant vous pouvez faire tout ce que vous voulez avec les données extraites. Par exemple, vous pouvez chercher des presses de la flèche, puis ajouter haut/bas certains Registre LED, qui allume la LED... Ou utiliser des presses de flèche au contrôle Snake Game:)