Está en la página 1de 9

Objetivo:

El alumno aprenderá como es la señalización para generar video VGA con el fin
de comprender la funcionalidad del código que controla el mencionado tipo de
señal de video.

Especificaciones:
Utilizando un FPGA, un cable y pantalla VGA, se programará el controlador de
video VGA, con la finalidad de proyectar una imagen estática.
Como se observa en el diagrama de bloques de la siguiente figura, el sistema
tiene una entrada de reloj, y cinco salidas HS, VS, R, G y B.

Diagrama de bloques:

Diagrama de bloques funcionales:


Actividad básica:
Actividad complementaria 1:
A partir del código presentado, el alumno desarrollará un bloque funcional
genérico para integrar un módulo que entregue las señales de sincronía
necesarias para generar video VGA, cuyo diagrama de bloques se muestra en la
siguiente figura, y que pasará a ser parte de la biblioteca de módulos
funcionales del alumno.
Para realizar correctamente el módulo VGA core independiente del generador
de imagen, eliminamos todos los procesos o variables que no comiencen dentro
de nuestro bloque VGA core.
Siendo así que, los bloques de relojpixel y generador_imagen no pertenecen al
bloque de VGA core, entonces los eliminamos.
Actividad complementaria 2:
Utilizando el módulo generador de señales de sincronía desarrollado en la
actividad complementaria 1, diseñe un sistema que produzca una animación
simple en un monitor VGA. Al inicio, en la pantalla se deben de observar tres
cuadrados de 50 x 50 pixeles, similares a los de la parte básica de la práctica,
pero el cuadrado de la izquierda deberá moverse hacia arriba; al llegar a la
parte superior de la pantalla y salir del área visible deberá aparecer
nuevamente por abajo para volver a subir; por su parte, el cuadrado de la
derecha deberá desplazarse hacia la derecha hasta salir de la imagen para
reaparecer por el costado izquierdo y continuar moviéndose a la derecha. Los
cuadros deberán moverse a una razón de 100 pixeles por segundo. Mientras
tanto, el fondo de la pantalla deberá ir cambiando de color siguiendo un patrón
de colores definido por el alumno.
Las principales modificaciones para conseguir que nuestros recuadros se
muevan, las hicimos dentro del process generador_imagen, en el cual creamos
nuevas variables llamadas mueve, las cuales tal como lo dice su nombre, se
encargaran de darle movimiento a los recuadros.
Posteriormente, integraremos estas nuevas variables dentro de las
condicionales que determinan las filas y columnas.
Finalmente, para conseguir que el fondo parpadeé, creamos una variable que
se dedicará exclusivamente para esto, la cual mediante condicionales if que
dependan de los ciclos de reloj, se asignaran valores binarios que representen
el color que deseemos.
Conclusiones:
Se consiguió realizar todas las actividades de la práctica sin mayores
complicaciones, siendo las actividades complementarias prácticamente una
calca del código original de la actividad básica, únicamente implementamos un
par de sentencias vistas en códigos de prácticas anteriores, tales como la del led
RGB o en las que ocupamos los módulos de Divisor y señal PWM, en las cuales
había un par de actividades muy similares a las que se presentaron en esta
ocasión.

También podría gustarte