Paso 3: Código de Verilog
Para probar el código en el Banco de pruebas antes de conectar realmente el teclado puede utilizar módulos de TestingKeyboard.v y wrapper.v.
Hay sólo un módulo, llamado Keyboard.v, donde está todo el código. Sería un poco difícil de entender el código, pero si lees el manual del interfaz PS2 y la sección anterior, todo lo debe limpiar.
El pseudo código para este módulo es:
Dos contadores se utilizan dentro de este módulo:
-> DOWNCOUNTER se usa para llevar la frecuencia 250 veces como gatillo es accionado ya que sucede.
-> count_reading cuentas aún es recibido arriba si no un completo paquete de 11 bits. (más tarde comprueba si este número alcanzó 4000...)
Este módulo recibe la información y comprueba si OK.
-> Si el gatillo se dispara, a continuación, compruebe si la PS2_CLK cambió su estado de
--> Si el estado cambia y si el reloj está en el borde descendente:
---> Agregar para arriba los bits de datos que actualmente se recibieron a los bits anteriores
---> Marca abajo que uno recibió poco más
---> Si se recibieron 11 bits, activar otra señal, diciendo que terminada la lectura
---> Compruebe el bit de paridad si la información recibida es aceptable
---> Si no eran 11 bits recibió cheque si tomó más de 4000 veces por count_reading a contar hasta después de recibido el bit anterior.
--->- y restablecer todo si tomó más. Más pase esto.
Otro módulo de pequeños extractos de la información:
-> Esperar el disparador, que comprueba si el paquete completo de 11 bits se recibió
--> Si hay un error en el paquete recibido, todo lo deseche.
---> No obstante extraer los bits de datos si la información estaba bien.
Ahora usted puede hacer lo que quieras con los datos extraídos. Por ejemplo, puede buscar flecha prensas y luego añadir arriba/abajo algunos registro de LED que enciende LEDs... O utilizar las prensas de flecha para control de juego de serpiente :)