sistemas interactivos de entretenimiento con base en el...

9
Sistemas Interactivos de Entretenimiento con Base en el FPGA Spartan3E-500 Incorporado en la Tarjeta Nexys2 Felipe Santiago Espinosa, Enrique Guzmán Ramírez Instituto de Electrónica y Mecatrónica Universidad Tecnológica de la Mixteca Carretera a Acatlima Km. 2.5, Huajuapan de León, Oaxaca, C. P. 69000, México Tel. 953-53-202-14, ext. 555, correo electrónico: [email protected], [email protected] Resumen Con la finalidad de evaluar el desempeño y la capacidad de procesamiento del FPGA Spartan3E-500 de la firma Xilinx, elemento principal de la tarjeta de desarrollo Nexys2, se desarrollaron dos sistemas interactivos de entretenimiento que utilizan los puertos VGA y PS/2 incorporados en la misma tarjeta. Se trata del juego de Ping-Pong y del juego del Gato, ambos para dos usuarios. Los sistemas se realizaron bajo un planteamiento modular, definiendo módulos e interconexiones entre ellos, para posteriormente describir todo con VHDL. Para la entrada de datos se utiliza al puerto PS/2, en el que se debe conectar un teclado cuando se implementa el juego de Ping-Pong, y un ratón si se trata del juego del Gato. Para la salida de información se emplea al puerto VGA, el módulo que maneja esta interfaz es empleado por los dos diseños, la interfaz VGA se configura con una resolución de 640 x 480 pixeles. Palabras Clave: FPGA, juego del gato, juego de ping-pong, sistemas interactivos, VHDL. I. Introducción De acuerdo con la Wikipedia “Se denomina sistema interactivo a aquel sistema que se interrelaciona y depende de las acciones de un usuario para realizar una tarea, es decir, todo sistema en el que interactúan persona y máquina” [1]. Actualmente, diferentes museos de las ciencias incorporan sistemas interactivos con la finalidad de captar la atención de las personas en temáticas tecnológicas, utilizando enfoques informativos y de entretenimiento, con el objetivo de satisfacer necesidades fundamentales, como la curiosidad o el razonamiento. La base para el desarrollo de un sistema interactivo suele ser una computadora convencional, cuya capacidad de procesamiento muchas veces rebasa la funcionalidad del sistema. Por ello, en este trabajo se muestra cómo es posible el desarrollo de sistemas interactivos con base en la tarjeta Nexys2, estas tarjetas tienen un costo de $99.00 USD, que contrasta con el costo de una computadora personal con prestaciones medias, el cual oscila entre $400.00 y $800.00 USD. La tarjeta Nexys2 es manufacturada y distribuida por la empresa Digilent [2], en la figura 1 se muestra la vista superior de esta tarjeta. Sus características principales son [3]: x FPGA Spartan-3E de la firma Xilinx, con 500K compuertas. x Memoria Micron M45W8MW16, PSDRAM de 16 MByte. x Memoria Flash de Intel de 16 MByte. x Oscilador de 50 MHz. x 75 terminales de E/S directas del FPGA, disponibles en los conectores de expansión (conector Hirose FX2 con 43 señales y 4 conectores PMod, cada uno con 8 señales). x Periféricos para evaluación que incluyen: 8 LEDs, 4 displays de 7 segmentos, 4 botones, 8 interruptores deslizantes. VIII Semana Nacional de Ingeniería Electrónica 3 a 5 de octubre 2012. Colima, Col. México ISBN 978-607-477-902-8 598

Upload: vuongnhi

Post on 03-Jul-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sistemas Interactivos de Entretenimiento con Base en el ...fsantiag/Sist_Dig/Art_03_Gato_PingPong_con_FPGA.pdf · Pantalla para el juego de Ping-Pong. Las características requeridas

Sistemas Interactivos de Entretenimiento con Base en el FPGA Spartan3E-500

Incorporado en la Tarjeta Nexys2

Felipe Santiago Espinosa, Enrique Guzmán Ramírez

Instituto de Electrónica y Mecatrónica

Universidad Tecnológica de la Mixteca

Carretera a Acatlima Km. 2.5, Huajuapan de León, Oaxaca, C. P. 69000, México

Tel. 953-53-202-14, ext. 555, correo electrónico: [email protected], [email protected]

Resumen

Con la finalidad de evaluar el desempeño y la capacidad de procesamiento del FPGA Spartan3E-500 de la firma Xilinx, elemento principal de la tarjeta de desarrollo Nexys2, se desarrollaron dos sistemas interactivos de entretenimiento que utilizan los puertos VGA y PS/2 incorporados en la misma tarjeta. Se trata del juego de Ping-Pong y del juego del Gato, ambos para dos usuarios. Los sistemas se realizaron bajo un planteamiento modular, definiendo módulos e interconexiones entre ellos, para posteriormente describir todo con VHDL. Para la entrada de datos se utiliza al puerto PS/2, en el que se debe conectar un teclado cuando se implementa el juego de Ping-Pong, y un ratón si se trata del juego del Gato. Para la salida de información se emplea al puerto VGA, el módulo que maneja esta interfaz es empleado por los dos diseños, la interfaz VGA se configura con una resolución de 640 x 480 pixeles.

Palabras Clave: FPGA, juego del gato, juego de ping-pong, sistemas interactivos, VHDL.

I. Introducción

De acuerdo con la Wikipedia “Se denomina

sistema interactivo a aquel sistema que se

interrelaciona y depende de las acciones de un

usuario para realizar una tarea, es decir, todo

sistema en el que interactúan persona y

máquina” [1]. Actualmente, diferentes museos de las ciencias incorporan sistemas interactivos con la finalidad de captar la atención de las personas en temáticas tecnológicas, utilizando enfoques informativos y de entretenimiento, con el objetivo de satisfacer necesidades fundamentales, como la curiosidad o el razonamiento.

La base para el desarrollo de un sistema interactivo suele ser una computadora convencional, cuya capacidad de procesamiento muchas veces rebasa la funcionalidad del sistema. Por ello, en este trabajo se muestra cómo es posible el desarrollo de sistemas interactivos con base en la tarjeta Nexys2, estas tarjetas tienen un costo de $99.00 USD, que contrasta con el costo de una computadora personal con

prestaciones medias, el cual oscila entre $400.00 y $800.00 USD.

La tarjeta Nexys2 es manufacturada y distribuida por la empresa Digilent [2], en la figura 1 se muestra la vista superior de esta tarjeta. Sus características principales son [3]:

FPGA Spartan-3E de la firma Xilinx, con 500K compuertas.

Memoria Micron M45W8MW16, PSDRAM de 16 MByte.

Memoria Flash de Intel de 16 MByte.

Oscilador de 50 MHz.

75 terminales de E/S directas del FPGA, disponibles en los conectores de expansión (conector Hirose FX2 con 43 señales y 4 conectores PMod, cada uno con 8 señales).

Periféricos para evaluación que incluyen: 8 LEDs, 4 displays de 7 segmentos, 4 botones,8 interruptores deslizantes.

VIII Semana Nacional de Ingeniería Electrónica

3 a 5 de octubre 2012. Colima, Col. México ISBN 978-607-477-902-8 598

Page 2: Sistemas Interactivos de Entretenimiento con Base en el ...fsantiag/Sist_Dig/Art_03_Gato_PingPong_con_FPGA.pdf · Pantalla para el juego de Ping-Pong. Las características requeridas

Puertos: PS/2, VGA y RS232 para aplicaciones. USB para programación y alimentación.

Fig. 1. Vista superior de la tarjeta Nexys2.

Con todas sus características, la tarjeta Nexys2 es suficiente para el desarrollo de una variedad de sistemas interactivos. El FPGA es el elemento principal de la tarjeta, en él deben residir los módulos para el manejo de las interfaces VGA y PS/2, además de los módulos propios para el procesamiento en cada uno de los sistemas.

En el diseño del juego de Ping-Pong y del juego del Gato se utilizó un enfoque modular, definiendo módulos con tareas específicas y observando cómo relacionarlos. Se utilizó VHDL para describir a cada uno de los módulos, porque además de ser un lenguaje de descripción de hardware muy completo, facilita la reutilización de módulos elaborados con anterioridad [4,5].

En [6, 7, 8] se documentan algunos módulos para el manejo de periféricos con un FPGA, empleando VHDL, los módulos descritos en estas referencias son la base para los módulos empleados en el manejo de las interfaces VGA y PS/2.

Específicamente, en [7] se detalla un juego simple de ping-pong, empleando un controlador VGA del tipo gráfico. Esta descripción es la base para el juego desarrollado, con la diferencia

fundamental de que en [7] la aplicación está orientada a un usuario, mientras que el sistema propio es una versión para dos usuarios.

Con el desarrollo de estos sistemas se busca demostrar que en ocasiones es suficiente con el uso de una tarjeta basada en un FPGA en lugar de una computadora. Además, con estos sistemas de entretenimiento se exploran las capacidades de procesamiento de un FPGA y se demuestra la reutilización de módulos mediante el empleo de VHDL.

Es conveniente señalar que los sistemas fueron implementados por equipos de dos estudiantes del curso Sistemas Digitales, el cual se imparte en el 7º semestre de la Ingeniería en Computación, en la Universidad Tecnológica de la Mixteca.

II. Especificaciones

De acuerdo con la metodología de sistemas empotrados [9], primeramente se deben describir las especificaciones del producto a desarrollar. En la figura 2 se muestra la pantalla esperada para el juego de Ping-Pong.

Fig. 2. Pantalla para el juego de Ping-Pong.

Las características requeridas para este sistema son:

El movimiento de las barras verticales debe ser controlado por medio del teclado, usando dos pares de teclas, uno para cada usuario.

El desplazamiento de las barras está restringido, sólo hacia arriba y abajo.

VIII Semana Nacional de Ingeniería Electrónica

3 a 5 de octubre 2012. Colima, Col. México ISBN 978-607-477-902-8 599

Page 3: Sistemas Interactivos de Entretenimiento con Base en el ...fsantiag/Sist_Dig/Art_03_Gato_PingPong_con_FPGA.pdf · Pantalla para el juego de Ping-Pong. Las características requeridas

Entre las barras verticales se mostrará la “pelotita”, con la cual los usuarios jugarán.

La pelota se moverá de manera independiente, en línea recta y partiendo de un inicio semi-aleatorio

La partida será infinita, ya que no se programará un contador de vidas.

La dinámica del juego es la siguiente:

Una vez que la pelota se muestra en la pantalla, los jugadores deben comenzar a mover su barra correspondiente, de arriba hacia abajo, mediante el uso del teclado.

Las teclas se configurarán por default y no será posible seleccionar otras.

Una vez comenzado el juego, los jugadores deben evitar que la pelota cruce su lado de la pantalla.

Cuando la pelota cruza por el lado de algún jugador, debe reaparecer por el extremo contrario para continuar con la partida.

La velocidad con la que se mueve la pelota, es fija.

En lo que respecta al juego del Gato, inicialmente la pantalla mostrará la estructura del juego (el signo # cubriendo la pantalla), los jugadores realizarán sus tiradas con ayuda del ratón generando cuadros en colores rojo y azul. En la figura 3 se muestra el resultado esperado, con un tiro por cada jugador.

Fig. 3. Pantalla para el juego del gato.

El cambio de color debe ser automático. Cuando un jugador logre ser el ganador, en la pantalla se debe mostrar la línea del triunfo en color amarillo, como se exhibe en la figura 4.

Fig. 4. Se ilustra al ganador en el juego del gato.

En caso de que ya no existan casillas para realizar una tirada, sin que previamente hubiese un ganador, se considera un empate y todas las casillas se pintarán de negro, como se puede ver en la figura 5.

Fig. 5. Se ilustra un empate en el juego del gato.

III. Definición del Hardware

El hardware requerido básicamente consiste en la tarjeta Nexys2 más los periféricos, una pantalla VGA como salida y un teclado o ratón como entrada, el teclado es para el juego de Ping-Pong

VIII Semana Nacional de Ingeniería Electrónica

3 a 5 de octubre 2012. Colima, Col. México ISBN 978-607-477-902-8 600

Page 4: Sistemas Interactivos de Entretenimiento con Base en el ...fsantiag/Sist_Dig/Art_03_Gato_PingPong_con_FPGA.pdf · Pantalla para el juego de Ping-Pong. Las características requeridas

y el ratón para el juego del Gato. La tarjeta Nexys2 contiene un puerto VGA y un puerto PS/2, ambos manejados desde el FPGA, en donde se deben integrar los módulos para el uso de los periféricos.

En la figura 6 se muestran las entradas y salidas requeridas por el FPGA para la implementación del juego de Ping-pong. Las únicas entradas corresponden a las señales de reloj (Clk_ext) y reset (Rst). Se tienen tres salidas para el manejo de la pantalla: sincronía horizontal (HS), sincronía vertical (VS) y color (RGB). Dos líneas bi-direccionales para el manejo del teclado: datos (dato_ps) y reloj (clk_ps), y dos salidas para indicar el estado del teclado, en LEDS se identifica si se presionó Bloq Mayús, Bloq Despl o Bloq Num y en error se indica si hubo error en alguna de las transacciones del teclado.

Fig. 6. Entradas/Salidas en el juego de Ping-Pong.

Las salidas LEDS y error no se emplean en el juego de Ping-Pong, se mantienen porque se reutilizó el módulo del teclado descrito en [8].

En la figura 7 se puede ver la misma información pero para el juego del Gato.

Fig. 7. Entradas/Salidas en el juego del Gato.

Puede notarse en la figura 7 que se repiten muchas señales de la figura 6, aunque el puerto PS/2 ahora es empleado para el manejo de un ratón. La salida rbot refleja el estado del botón derecho, el cual no es empleado en el juego del Gato, por lo que su estado únicamente se muestra en un LED de la tarjeta.

IV. Definición del Software

En cuanto al software, fue necesario el desarrollo de módulos en VHDL para después integrar al sistema. Para el juego de Ping-Pong se propusieron los módulos listados en la figura 8.

Fig. 8. Módulos para el juego de Ping-Pong.

La funcionalidad de cada uno de los módulos se describe a continuación:

1. El módulo Divisor de Frecuencia recibe como entrada el reloj de la tarjeta, de 50 MHz, y genera dos señales de reloj, una a 25 MHz para el manejo del módulo VGA y otra de aproximadamente 200 kHz, para el manejo del teclado.

2. El módulo Teclado es el responsable de hacer la comunicación entre la tarjeta y un teclado de computadora tipo PS/2. Lee la trama enviada por éste y entrega un código de rastreo por cada tecla presionada. El módulo mantiene el código de rastreo de la última tecla presionada, aunque haya sido liberada. Por ello, incluye una salida que indica si hay

Juego de Ping-pong

Divisor de Frecuencia

Teclado

Pulso

Detecta Tecla

Genera Imagen

VGA

VIII Semana Nacional de Ingeniería Electrónica

3 a 5 de octubre 2012. Colima, Col. México ISBN 978-607-477-902-8 601

Page 5: Sistemas Interactivos de Entretenimiento con Base en el ...fsantiag/Sist_Dig/Art_03_Gato_PingPong_con_FPGA.pdf · Pantalla para el juego de Ping-Pong. Las características requeridas

un nuevo código de rastreo (CR_Listo). Este módulo fue reutilizado de [8].

3. El módulo Detecta Tecla identifica si el código de rastreo proporcionado por el módulo Teclado corresponde con una de las teclas de movimiento. Se pueden mover dos barras, hacia arriba o abajo, por lo que se tienen cuatro teclas de movimiento.

4. El módulo Pulso permite sincronizar al módulo Teclado con el módulo Detecta

Tecla.

5. El módulo VGA genera las señales de sincronía horizontal y vertical para el manejo de la pantalla, este módulo fue empleado en [10], en donde fue descrito con un mayor detalle. El módulo se basa en un par de contadores para hacer referencia a un pixel y determinar el momento en que se deben generar los pulsos de sincronía. Como entrada ingresa el valor del pixel RGB que se enviará a la salida RGB si los contadores hacen referencia al área visible y como salidas se tienen los pulsos de sincronía horizontal y vertical, el valor del pixel RGB, los valores de los pixeles horizontal y vertical, para que sean empleados por el módulo Genera

Imagen, y una salida que indica si los contadores están en el área visible.

6. El módulo Genera Imagen se encarga de la actividad interactiva, al generar el escenario del juego. Cada elemento del juego (barras y pelota) ocupa un lugar en la pantalla, por lo que se debe pintar en otro color. Este módulo recibe como entradas a las coordenadas X y Y del pixel a pintar, revisa si el pixel corresponde a la posición de uno de los objetos del juego para definir su color RGB. Además, con la ayuda de señales y procesos concurrentes el módulo determina el movimiento de las barras en función de una señal de entrada procedente del módulo Detecta Tecla. Para el movimiento de la pelota, el módulo incluye otro proceso concurrente en el que se revisa el valor de su ubicación X y Y. En dos registros se mantiene la dirección del movimiento, la cual

se modifica cuando una frontera de la pelota coincide con una de las barras o con el límite superior e inferior de la pantalla, para simular el choque se cambia la dirección de movimiento.

Aunque el módulo Genera Imagen trabaja a 25 MHZ, la animación de la pelota y los movimientos de las barras no se realizan a esta frecuencia, internamente se maneja una señal cuya frecuencia es de 60 Hz, para sincronizar los cambios en la posición de las barras y de la pelota. El módulo Genera Imagen es una versión para dos jugadores muy similar al juego descrito en [7], en donde se presenta una versión para un jugador.

En la figura 9 se muestra cómo se deben conectar los seis módulos entre sí, para dar lugar al sistema completo.

Fig. 9. Conexión de los módulos para el juego de

Ping-Pong.

Para el juego del Gato se emplearon los módulos listados en la figura 10. La funcionalidad de cada uno de los módulos se describe a continuación:

1. El módulo Divisor de Frecuencia es similar al del otro sistema, pero sólo genera la señal de reloj a 25 MHz y con ella se sincroniza todo el sistema.

RGB(7:0)

rst

clk_ext

HS

VS

CLK CLK_25MHZ

RST clk_tec

U1

div_frec

CLK HSYNC

PIXEL_RGB(7:0) PIXEL_H(9:0)

RST PIXEL_V(8:0)

RGB(7:0)

VSYNC

V_AREA

U2

vga

clk CNS(2:0)

reset CR_Listo

Codigo_Rastreo(7:0)

Dato_ps

ERROR

tec_clk

U4

Teclado

tec_clk

dato_ps

error

LEDS(2:0)

codigo(7:0) btn(3:0)

hay

clk

U5

detecta_tecla

clk q

p

rst

U6

pulso

Pix_Ver(8:0) RGB_sal(7:0)

Pix_hor(9:0)

V_Area

clk

rst

btn(3:0)

U3

gen_img

VIII Semana Nacional de Ingeniería Electrónica

3 a 5 de octubre 2012. Colima, Col. México ISBN 978-607-477-902-8 602

Page 6: Sistemas Interactivos de Entretenimiento con Base en el ...fsantiag/Sist_Dig/Art_03_Gato_PingPong_con_FPGA.pdf · Pantalla para el juego de Ping-Pong. Las características requeridas

2. El módulo Mouse hace posible la interacción con el usuario, el módulo coloca en sus salidas la posición de la pantalla en donde se encuentra el puntero y el estado de los botones, este módulo también fue empleado en [10], en donde se puede encontrar una descripción más amplia.

Fig. 10. Módulos para el juego del Gato.

3. El módulo Detecta Región recibe como entradas las coordenadas con la ubicación del puntero del ratón y el estado del botón izquierdo, cuando el usuario da un clic con el ratón, el módulo indica en cuál de las 9 regiones lo dio y notifica a Valida Matriz

que hubo una tirada en una de las regiones.

4. El módulo Valida Matriz verifica si la región en donde se pretende hacer un tiro está disponible, para que sea utilizada por el usuario, marcándola con el color que le corresponde. Si la región está ocupada, genera una señal de error.

5. El módulo Verifica Ganador revisa las diferentes combinaciones en el tablero, para determinar si hubo un ganador, recibe un arreglo con la información del juego y tiene la capacidad de cambiar el color de las tiradas, para resaltar la combinación ganadora o para colocar todas las tiradas en color negro, en caso de tratarse de un empate.

Fig. 11. Conexión de los módulos para el juego del Gato.

ps2C

ps2D

RGB_SAL(7:0)

clk_ext

rst

HS

VS

rbot

CLK CLK_25MHZ

RST

U1

DIV_FREC

Pix_Ver(8:0) RGB_sal(7:0)

Pix_hor(9:0)

V_Area

POS_X(9:0)

POS_Y(9:0)

entrada(26:0)

U2

gen_img

CLK LB

RST POS_X(9:0)

POS_Y(9:0)

PS2_CLK

PS2_DATA

RB

U3

MOUSE

CLK HSYNC

PIXEL_RGB(7:0) PIXEL_H(9:0)

RST PIXEL_V(8:0)

RGB(7:0)

VSYNC

V_AREA

U4

vga

region(3:0)

x(9:0)

y(9:0)

clic

rd

U5

dec_region

jugador(1:0) salida(26:0)

region(3:0)

clk

rst

error

U6

valida_matriz

Error jugador(1:0)

clk

rst

rd

gano

U7

aut_det_jugador

tablero(26:0) gano

tableroF(26:0)

U8

verifica_ganador

VIII Semana Nacional de Ingeniería Electrónica

3 a 5 de octubre 2012. Colima, Col. México ISBN 978-607-477-902-8 603

Page 7: Sistemas Interactivos de Entretenimiento con Base en el ...fsantiag/Sist_Dig/Art_03_Gato_PingPong_con_FPGA.pdf · Pantalla para el juego de Ping-Pong. Las características requeridas

6. El módulo Detecta Jugador es una máquina de estados que cambia automáticamente la indicación del número de jugador en turno, el cambio se realiza siempre que no haya habido error en la tirada anterior.

7. El modo VGA es el mismo que se empleó en el juego de Ping-pong.

8. El módulo Genera Imagen tiene el mismo objetivo que en el sistema anterior, sólo que la imagen se genera en forma diferente. En cada pixel se revisa si corresponde a la pantalla o a la estructura del gato, para determinar si será blanco o negro. En caso de pertenecer al espacio ocupado por una tirada, se revisa el tablero proporcionado por el módulo Verifica Ganador, para conocer el color del jugador, si es un tiro en la línea ganadora o si hubo un empate.

En la figura 11 se muestra la conexión de los ocho módulos que dan lugar al juego del Gato entre dos usuarios.

V. Resultados

Todos los módulos fueron codificados en VHDL, los sistemas completos fueron sintetizados e implementados con la ayuda de la herramienta ISE 12.1 de Xilinx.

Ambos sistemas fueron probados con éxito, en la figura 12 se puede ver a la tarjeta Nexys2 con la pantalla y teclado conectados para dar lugar al sistema interactivo para el juego de Ping-Pong.

Fig. 12. Juego de Ping-Pong en operación.

En las figuras 13, 14 y 15 se puede ver al juego del Gato en operación, ilustrando diferentes situaciones: Un tiro por jugador, un empate y el triunfo del jugador con fichas en color Rojo, respectivamente.

Fig. 13. Juego del Gato, un tiro por jugador.

Fig. 14. Juego del Gato, se ilustra un empate.

Fig. 15. Juego del Gato, ganó el jugador Rojo.

En la tabla 1 se muestra un resumen de los recursos ocupados por los dos sistemas en el

VIII Semana Nacional de Ingeniería Electrónica

3 a 5 de octubre 2012. Colima, Col. México ISBN 978-607-477-902-8 604

Page 8: Sistemas Interactivos de Entretenimiento con Base en el ...fsantiag/Sist_Dig/Art_03_Gato_PingPong_con_FPGA.pdf · Pantalla para el juego de Ping-Pong. Las características requeridas

FPGA Spartan3E, demostrando que se utilizan muy pocos de los recursos disponibles.

RecursoPing-pong Gato

Uso % Uso %

Slices 319 6 395 8

Bloques I/O 18 7 23 9

Tabla 1. Recursos empleados en el FPGA.

VI. Conclusiones

Ambos sistemas se descargaron y funcionaron favorablemente en la tarjeta Nexys2, por lo que se demuestra que no es necesario el empleo de una computadora personal para el desarrollo de algunos sistemas interactivos simples, éstos pueden implementarse a partir de tarjetas de evaluación y desarrollo con FPGAs.

En la tabla 1 se puede ver que aún quedan demasiados recursos para el desarrollo de sistemas interactivos con un grado de complejidad mayor.

Tomando como base los sistemas interactivos expuestos, algunas mejoras para cursos futuros de sistemas digitales con base en FPGAs pueden incluir: La incorporación de obstáculos en el juego de Ping-pong, para aumentar su grado de dificultad, el desarrollo de un algoritmo para una respuesta automática en el juego del Gato, etc.

La reutilización de módulos en VHDL proporciona una ventaja importante en el desarrollo de nuevos sistemas, para sistemas que requieran el uso de una interfaz VGA o PS/2, para el manejo de un teclado o un ratón, ya no será necesario empezar desde cero.

En muchos sistemas interactivos se busca aumentar la actividad física del usuario, para favorecer su salud. El empleo de tarjetas de desarrollo en lugar de computadoras también facilita la conexión de hardware externo para sistemas con estos requerimientos, porque anula las etapas de acondicionamiento. Por ejemplo, si al juego del Gato se le quisiera acondicionar un

tapete externo para que en cada tirada el usuario tuviese que realizar un brinco, sería mucho más fácil hacerlo en una tarjeta de desarrollo en lugar de una computadora, con la computadora se tendría que trabajar en la etapa de acondicionamiento.

VII. Referencias

[1] Wikipedia, la encicolpedia libre, http://es.wikipedia.org/wiki/Sistema_interactivo, última visita: Junio de 2012.

[2] Digilent Inc. - Digital Design Engineer’s Source, http://www.digilentinc.com/, última visita: Junio de 2011.

[3] Digilent Nexys2 Board Reference Manual, Doc: 502-107, Copyright Digilent, Inc., June 21, 2008.

[4] R. Romero Troncoso, “Sistemas Digitales con VHDL”; Legaria Ediciones.

[5] F. Pardo, J. A. Boluda, “VHDL, Lenguaje para síntesis y modelado de circuitos”, Ed. Alfaomega, 2000

[6] P. Wilson, “Design Recipes for FPGAs”, 2007, Newnes of Elsevier.

[7] P. Chu, “FPGA Prototyping by VHDL Examples, Xilinx Spartan-3Version”, A John Wiley & Sons inc., Publication 2008.

[8] J. C. Tepozán Ríos, “Diseño de controladores para la tarjeta de desarrollo XSA-100”. Tesis de Ingeniería en Electrónica, Universidad Tecnológica de la Mixteca, Mayo de 2004.

[9] A. Berger, “Embedded Systems Design: An Introduction to Processes, Tools, and Techniques”, CMP Books, 2002, ISBN: 1578200733.

[10] F. Santiago, J. Ayala, A. Ramírez, R. C. Vázquez, “Paint con FPGA: Sistema para la Evaluación de las Interfaces VGA y PS/2 de la Tarjeta de Desarrollo Nexys2”, VII Semana Nacional de Ingeniería Electrónica, SENIE11, del 26 al 28 de

VIII Semana Nacional de Ingeniería Electrónica

3 a 5 de octubre 2012. Colima, Col. México ISBN 978-607-477-902-8 605

Page 9: Sistemas Interactivos de Entretenimiento con Base en el ...fsantiag/Sist_Dig/Art_03_Gato_PingPong_con_FPGA.pdf · Pantalla para el juego de Ping-Pong. Las características requeridas

Octubre 2011, Tapachula, Chis., ISBN: 968-607-477-588-4, pp. 584 - 593.

VIII. Autores

M. C. Felipe Santiago Espinosa es Maestro en Ciencias con especialidad en Electrónica por parte del INAOE, Licenciado en Electrónica por parte de la BUAP, desde 1998 labora como Profesor-Investigador en la Universidad Tecnológica de la Mixteca, adscrito al Instituto de Electrónica y Mecatrónica.

Dr. Enrique Ramírez Guzmán es Doctor en Ciencias de la Computación, Maestro en Ciencias en Ingeniería de Computo con Especialidad en Sistemas Digitales e Ingeniero en Comunicaciones y Electrónica, los tres títulos por parte del Instituto Politécnico Nacional, desde 1996 labora como Profesor-Investigador en la Universidad Tecnológica de la Mixteca, adscrito al Instituto de Electrónica y Mecatrónica.

VIII Semana Nacional de Ingeniería Electrónica

3 a 5 de octubre 2012. Colima, Col. México ISBN 978-607-477-902-8 606