Nuestro proyecto consiste en la implementación del Juego tres en raya empleando FPGA’s, para ello vamos a incluir en el código principal los componentes correspondientes a los drivers empleados, utilizando el lenguaje de programación VHDL para poder implementar en la tarjeta Spartan 3E. La secuencia del juego la vamos a controlar por medio del teclado. Utilizaremos como interfaz gráfica una pantalla conectada al puerto VGA.
El resultado se presenta en los leds de la tarjeta. El juego es realizado entre dos jugadores externos.
Respecto al estudio y elaboración del modelo a utilizarse, hemos decidido que vamos a emplear el software VHDL, a través del cual podemos generar el archivo punto bit que vamos a descargar en la FPGA Spartan 3E.
3. Diseño de la plantilla del juego:
fig.1 Plantilla del juego que se va a utilizar [1]
Primeramente es necesario realizar una pequeña explicación de cómo es la lógica del juego para poder definir correctamente los parámetros de diseño.
Tres en raya es jugado por dos jugadores y en un tablero con 9 espacios que están dispuestos en tres filas y 3 columnas.
A los jugadores se les asigna un marcador que se sea un + o un □. Los jugadores se turnan para colocar su marca en un espacio vacío hasta que todos los espacios están llenos, o hasta que un jugador consigue tres de sus marcas en un fila horizontal, vertical o diagonal. Quién logre colocar las fichas en tres en raya, es el ganador del juego. Sin embargo, si todos los espacios en el tablero se llenan y ninguno de los jugadores tiene 3 de sus marcas en una fila, luego que el juego ha terminado, no hay un ganador. [2]
4. Desarrollo
fig.2 Diseño del juego
Primeramente diseñamos la plantilla del juego la cual es una cuadrícula de 3x3, posteriormente el diseño de las fichas para cada jugador una cruz y un cuadrado (+ y □), por facilidad.
La posición de las fichas se va a lograr por medio del teclado ya que es más eficiente y fácil de escribir el ensamblado del código empleando las teclas “S” y “N”, S si la persona decide jugar y N caso contrario.
Los resultados los vamos a presentar en los leds de la tarjeta, ya sea si hay un ganador o no.
fig.3 Implementación del juego
5. Resultados
A continuación mostramos los resultados obtenidos. El diseño de la plantilla se muestra claramente en la pantalla, así como las fichas que se van a emplear.
fig.4 Materiales empleados para el proyecto
fig.5 Tarjeta Spartan 3E en funcionamiento
Posiciones de las fichas:
(a)
(b)
fig.9 (a) Desplazamiento de la ficha de posicionamiento hacia abajo y (b) hacia la derecha.
6. Conclusiones:
- Se ha cumplido con lo establecido en el cronograma con respecto a los objetivos planteados para el proyecto
- Se logró implementar el código para el diseño de la plantilla del juego, así mismo para las fichas empleadas en el mismo, utilizando como interfaz gráfica la pantalla conectada al puerto VGA.
- Para dar movimiento a la ficha de posicionamiento del juego se utiliza el teclado, con un enter se fija la ficha elegida en la posición que se desee.
- Para hacer uso del teclado, de la lcd y del puerto vga, se utilizaron los drivers respectivos.
- El resultado se presenta en los leds de la tarjeta, encendiendo los cuatro primeros cuando gana la ficha cuadrada y los últimos cuando gana la ficha cruz.
7. Referencias
[1]Wakerly, Jhon F, Diseño Digital, Principios y Prácticas,3ra edición.
[2]Tic-tac-toe By K. Krishna Chaitanya , Ankit C. Master, Department of Electrical and Computer Engineering.University of Tennessee, Knoxville. [en línea]disponible en: www.ece.utk.edu/~amaster/Tic-Tac-Toe%20finalprop2007.ppt , [consulta 30-11-2010]
[3] Apuntes de VHDL[en línea] disponible en:
http://atc2.aut.uah.es/~rico/docencia/asignaturas/informatica/lab_org_comp/archivos/Documentacion/VHDL/Apuntes%20VHDL%2000.pdf, [consulta 30-11-2010] Respecto al estudio y elaboración del modelo a utilizarse, hemos decidido que vamos a emplear el software VHDL, a través del cual podemos generar el archivo punto bit que vamos a descargar en la FPGA Spartan 3E.
No hay comentarios:
Publicar un comentario