Está en la página 1de 2

El cdigo utiliza tres entradas y cinco salidas.

PATSEL corresponde a dos


interruptores que se utilizan para seleccionar uno de los cuatro patrones
disponibles. CLK es la entrada de reloj de 50 MHz. RESET corresponde a un
interruptor utilizado para detener la generacin de la seal de video. VGA_R
corresponde a la salida de color rojo. VGA_G corresponde a la salida de color
verde. VGA_B corresponde a la salida de color azul. VGA_VS es la salida
correspondiente al pulso de sincronismo vertical generado por el cdigo.
VGA_HS es la salida para el sincronismo horizontal.
El cdigo est conformado por un solo process controlado por la seal de reloj
CLK y contiene once variables. Se utiliza HCOUNT para contar el numero de
pixeles dibujados en una lnea y va de 0 a 639. VCOUNT almacena el numero
de lnea actual. Los valores de 0 a 479 corresponden a las lneas en donde se
dibuja el patrn seleccionado y los valores de 480 a 520 corresponden al
intervalo de borrado vertical. DIVCLK se utiliza para dividir la frecuencia del
reloj de 50 MHz a 25 Mhz, necesario para generar la seal de video de 640x480
pixeles a 60 Hz. HCLK se utiliza para controlar los tiempos de lnea. HCLK
cuenta el numero de ciclos de reloj a esperar para cada uno de las partes de
las seal de lnea, que son los prticos anterior y posterior, el tiempo para
dibujar los 640 pixeles de lnea y el tiempo del pulso de sincronismo horizontal,
segn el manual. HMODO almacena la posicin en la seal de lnea. Se utiliza
un valor de 0 para indicar que se encuentra en el tiempo del pulso de
sincronismo horizontal, 1 para el prtico anterior, 2 para el tiempo de los 640
pixeles, 3 para el prtico posterior y despus vuelve a comenzar en la posicin
0. El modo 2 permanece activo hasta que se dibujen los 640 pixeles.

14
Instituto Tecnolgico de Tijuana Departamento de Ingeniera Elctrica y
Electrnica
Despus de dibujar los 640 pixeles, se incrementa VCOUNT. Si este llega a 521
esto indica el fin del intervalo vertical y se reinicia VCOUNT para comenzar a
dibujar desde la primera lnea. La variable VCLK se utiliza para contar los
tiempos para la sincronizacin vertical y VMODO indica si se encuentra en el
pulso de sincronismo vertical, en el prtico anterior, en el tiempo de lneas
activas o en el prtico posterior. A estos se les asignan los nmeros 0, 1, 2 y 3
respectivamente. BITSEL se utiliza para generar el patrn de tablero de
ajedrez. PAT_R, PAT_G y PAT_B forman el color del pixel a dibujar para el patrn
seleccionado. Si VCOUNT es mayor o igual 480, estas tres variables se ponen
en ceros para cumplir con el intervalo de borrado vertical. De igual forma, los
valores de estas tres variables se ignoran durante los intervalos de borrado
horizontal.
Para generar el patrn de pantalla blanca, las salidas R, G y B se ponen
siempre en unos. Para el patrn de tres barras horizontales, las lneas se
dividen en tres grupos. Si VCOUNT es menor que 160, a la salida se obtiene el

color rojo. Si VCOUNT es menor que 320 entonces la salida es el color verde. Si
VCOUNT es menor que 480 entonces a la salida se tiene el color azul. De lo
contrario se tienen R, G y B en ceros. Para generar el patrn de barras de color,
se dividen los 640 pixeles de la lnea en 8 grupos. HCOUNT menor que 80 para
blanco, menor que 160 para amarillo, menor que 240 para cian, menor que
320 para verde, menor que 400 para magenta, menor que 480 para rojo,
menor que 560 para azul y los restantes para negro. Para generar el tablero de
ajedrez, se dividen los pixeles de la lnea en 8 grupos. Se alternan los colores
negro y blanco cada 80 pixeles comenzando con el color negro. Cada 60 lneas
se alterna entre el color seleccionado anteriormente y el complemento de este.
Para todo esto se utiliza la variable BITSEL. Si BITSEL es uno, el pixel es blanco,
si es cero, el pixel es negro.

También podría gustarte