Paso 2: Salida VGA
VGA 640 x 480 pantalla funciona así: un píxel es activado en la parte superior izquierda (y = 0, x = 0). El monitor activa un píxel a la vez, va derecho a lo largo de la parte superior de la pantalla hasta que llegue (y = 0, x = 640). Cuando alcanza el borde de la pantalla (x = 640), el monitor inicia activación de píxeles (y = 1, x = 0) y hace lo mismo. Sigue haciendo esto hasta que llegue (y = 480, x = 640), donde iniciará el proceso de nuevo. Básicamente, activa los pixeles uno por uno (en serie) de una manera ordenada de izquierda a derecha, va hacia abajo. Más info aquí [3].
También, si quiere mostrar un color que no sea negro, necesita especificar los valores de rojo, verde y azul del monitor Mostrar 8 bits.
.
Para poder jugar el juego, tenemos que usar a un monitor compatible con VGA para poder mostrar el juego. Hay varias cosas necesarias para trabajar el módulo generador VGA:
1 establecer la altura máxima y la longitud para que coincida con la resolución de pantalla que queríamos para el programa (640 x 480).
2. utilizamos el borde positivo del reloj VGA mientras que usa si las declaraciones y asignaciones no bloqueando para crear una x coordinan cuenta como una cuenta de coordenadas y. Estos xCount y yCount pueden utilizarse para dibujar cosas en la pantalla, así como la pista de la serpiente y la manzana. Ellos seguir en la pantalla que estás.
3. dijimos eso si nuestro x coordenada y coordenada y no coincide con la longitud máxima o altura máxima, entonces nos aumentaría sus coordenadas en una
4. utilizando el borde positivo de nuestra VGA del reloj otra vez, utilizamos una asignación no bloqueando para definir nuestra área de pantalla como las coordenadas de x multiplicadas por nuestras coordenadas y. Estos valores son true si cualquiera de estas coordenadas es menor que nuestra resolución de pantalla (640 x 480).
5. al concluir el módulo generador VGA, utilizamos tres declaraciones de asignación, dos de los cuales fueron asignados "VGA_vSync y VGA_hSync, como el inverso de la sincronización vertical y sincronismo horizontal. Nuestro final asignar declaración incluida con el área de pantalla definimos en nuestra asignación anterior y usando "blank_n" para definir nuestra área de exhibición.
6. también en cuenta que el VGA no se puede ejecutar en una señal de reloj de 50MHz como fuentes de la Junta, por el contrario, funciona con un reloj de 25MHz. Utilizamos un módulo independiente (fotografiado) para reducir el reloj de 50MHz a 25MHz.
.
Una página útil para aprender más sobre detalles VGA es la Página de Wikipedia para VGA [4], y un recurso útil para algunos detalles de Verilog relativos a VGA es esta página [5].