Académique Documents
Professionnel Documents
Culture Documents
I. INTRODUCCIÓN
La operación básica de un monitor CRT es similar, excepto sincronización y un circuito generador de pixeles, como se
en el que los destellos de electrones son proyectados como muestra a continuación:
puntos fosforescentes rojo, verde y azul (RGB) en pantalla.
c) Controlador de Video
sec_sel1 : in bit;
sec_sel2 : in bit;
start : in bit);
end SimonSays;
mode es una variable externa que decide qué tan rápido corre
el programa; a su vez tenemos botones de entrada que permite
al usuario mantener el juego, los botones son green_in hasta
blue_in. Se tiene además un botón de inicio start.
- Sincronización Vertical
La arquitectura de modo comportamiento es como sigue:
Un periodo de la señal vsync contiene 525 pixeles y
architecture Behavioral of SimonSays is
pueden ser divididos en cuatro regiones:
signal clk25 : std_logic;
Display: Región en donde los pixeles actualmente se
signal hcounter : integer range 0 to
despliegan en pantalla. El tamaño de esta región es de 480 800;
px. signal vcounter : integer range 0 to
Retrace: Región en el que los destellos de los electrones 521;
regresan a la parte superior de la pantalla para volver a
trazar la columna. -- Color actual
Margen Inferior y Superior: La señal de video se signal color: std_logic_vector(2
deshabilita en esta región, el tamaño de la misma es de 10px downto 0);
y 33px respectivamente.
-- Tipo para las secuencias
type secuence is array(0 to 31) of
III. IMPLEMENTACIÓN EN VHDL character;
n p corre
end char_to_color; Botón correcto pero
no se ha completado
tó
Bo s in
e
START
start = '1'
secuencia
process (clk50_in) s3 s2
Para obtener la sincronización tanto vertical como Los tiempos requeridos para la sincronización vertical son
horizontal con el VGA, tenemos lo siguiente: las siguientes:
if hcounter > 0 and hcounter < 97 then -- Pulse width: Tpw = 1600 cycles (2 lines) @ 25 MHz
hs_out <= '0'; -- Back porch: Tbp = 23200 cycles (29 lines)
else -- Display time: Tdisp = 38400 cycles (480 lines)
hs_out <= '1'; -- Front porch: Tfp = 8000 cycles (10 lines)
end if; -- Sync pulse time (total cycles) Ts = 416800 cycles (521
lines)
Los tiempos requeridos para ambas sincronizaciones se
muestran en la siguiente tabla (Ver p.24, Xilinx, Spartan-3
Starter Kit Board User Guide) IV. CONCLUSIONES
VI. APÉNDICE A
MÁQUINAS DE ESTADOS, VGA, SPARTAN 3, XILINX 10
VII. APÉNDICE B
Esperando
START
start := '1'
Comprobar
botón s4 Botón secuencia y s6 s1
secuencia se ha Desplegando patrón de colores
completado global_cnt /= level_cnt