Juego BitRunner FPGA (3 / 4 paso)

Paso 3: Programación de la FPGA

Usando la Suite de diseño Xilinix puede montar los archivos en un sistema de trabajo de módulos. Usted puede seguir estos pasos aquí para conseguirlo. Para un genio técnico como usted montar esto no debe es gran cosa, pero si necesita más explicaciones sobre los módulos, hay comentarios en los archivos vhd subido. Puede ignorar las notas debajo de cada parte en este paso si usted no necesita una explicación sobre cómo implementar el módulo porque eres un genio tal técnico.

Una cosa más antes de llegar a este

Para un más claro, o más en el diagrama de caja negra de profundidad.

-Descargar y sintetizar nuestros módulos de vhd

-Ampliar la opción de sintetizar y haga doble clic en "Vista esquema RTL"

-Haga doble clic en diagrama de caja negra para ampliarlo

Parte 1. Crear un registro de cambio para los obstáculos. Necesitará un divisor de reloj para hacer pasar obstáculos de registro ejecuta a velocidades de comprensibles.

-Inicialmente, dar el registro de desplazamiento de 8 bits a '1' para empezar los obstáculos.

-en cada rising_edge(clk) después de que

---Cambiar los bits hacia abajo pasando el (HDL 6 0) al (7 p 1) de la señal de "next" (lfsr_next) como la llamamos

---Establezca el 1 º bit de la señal de "next" en la punta del registro actual "xor" otro pedacito del registro actual

---Usted puede elegir cualquier dos bits para xor, esto sólo resultará en una orden pseudoaleatoria.

---Tiene algunas propiedades al azar, pero el patrón se repite.

Nota 1: decodificador SSEG y Clk_div son dada a nosotros por nuestro maestro. Estos módulos fueron creados por el profesor Bryan Mealy en Cal Poly Slo. El decodificador sseg toma un número de 8 bits y muestra ese número en decimal en el display de siete segmentos. El clk_div es un divisor de reloj que se extiende el período de clk. Basta con copiar, pegar en. ADVERTENCIA: El decodificador sseg puede producir advertencias de cómo el contador es inusitado. Esto es porque el contador no llega a esa alta de un número que requieren ciertos bits. Así vhdl optimiza los pedacitos y escupe una advertencia.

Prueba de que estos módulos funcionan por subir el programa y viendo los LEDs encienden. Si se realiza correctamente, el cerebro debe estar pensando que el patrón de luz que emite está en movimiento como obstáculos a la izquierda. En el caso no es así, Compruebe la configuración del tablero, los módulos y su propio cerebro.

Parte 2. Crear el decodificador cuenta. El módulo de salidas una puntuación basada en el tiempo, esencialmente es un contador. Ningún juego está completo sin una manera fría, objetiva de distinguir lo malos es en comparación con otros. Asegúrese de crear un módulo similar a sseg_dec.vhd para que usted y sus compañeros de jurado pueden ver el resultado en el display de siete segmentos con facilidad.

-En el flanco ascendente de la clk después de ser puesto a través de la clk_div, incrementar la puntuación

Prueba si funciona por que lo simula. Asegúrese de que el incremento de números correctamente. Entonces usted puede probar más enviando la salida del decodificador de puntuación a la sseg_dec para determinar que funciona visualmente. La puntuación debe aumentar por uno para cada flanco ascendente de reloj.

Nota 2: Cuando simulando el decodificador de la puntuación, la ventana de simulación es dentro de unos pocos nanosegundos, por lo tanto reduce su factor de reloj a 1 para los resultados apropiados. De lo contrario nada parece estar sucediendo.

Parte 3. Combinar el Shift Register y el decodificador cuenta con un módulo principal. Asegúrese de que el divisor de reloj como el reloj de registro de desplazamiento y la puntuación. El resultado final debe tener un puntaje incrementos en cada turno de los obstáculos.

Parte 4. Crear un módulo para el decodificador botón. Toma en la entrada de un botón y determina si el reproductor está en esquivar estado o no. Esto es necesario para evitar que los jugadores de mantener pulsado el botón de esquivar y esquivar todos los obstáculos que se aproximan.

-Este módulo puede ser representado usando una máquina de estados finitos, representada en el diagrama adjunto estados finitos

-Por defecto es esperar estado

-Si usted no presiona el botón el estado permanece en modo de espera

-Si lo hacen, entonces va a modo de esquivar y salidas del regate para un tiempo

---Esto es determinado por un clk que cuenta cierto número en el borde de levantamiento (hasta usted)

-Después de terminar el modo de aclarado, automáticamente pasa a estado de let_go y no volver a esperar el estado hasta que el jugador deja ir el botón.

Parte 5. Crear un módulo para comprobar si el jugador es golpeado por el bloque y que el juego es terminado.

-El juego es sobre si es el obstáculo en el final y el jugador no está en modo de aclarado.

-Si el juego termina, usted puede restablecer el registro de desplazamiento y el score_decoder, lo que hicimos

---O se puede esperar a un usuario a reiniciar el juego

Esto fue probado con un archivo de simulación. Ponemos las entradas a diferentes combinaciones y corrección visual confirmado.

Parte 6. Esto poner todos juntos en le modulo principal y ejecutar el juego con el archivo de restricciones.

-Las asignaciones de las clavijas de más pueden encontrarse en el tablero.

-Para los cables de LED que se van a conectar, tendrás que buscar en la Web de la Junta. Si utiliza un tablero de SDMONEXYS 3, puede utilizar nuestro archivo de restricciones e implementación que comenta qué pernos están en el tablero.

-Prueba con simulación así. Es fácil ver lo que sucede con un archivo simulado puesto que usted puede mirar en las salidas de los módulos individuales también.

Nota 3: Usted conseguirá las mismas advertencias como Nota 1 con algunos otros módulos por la misma razón.

Parte 7. Opcional. (Obligatorio si todas las partes antes de esto fueron una brisa para usted) Modificar todo con un divisor de reloj y el decodificador de botón en la cuenta (no hacer esto para el decodificador sseg). De esta forma que la puntuación aumenta puede pasar a una cuenta diferente y acelerar el juego para aumentar la dificultad.

Nota 4: Si haces esto, usted puede obtener algunas advertencias adicionales, indicando que ha creado un seguro. También las simulaciones se realizaron antes de esto, así que tendrás que añadir las asignaciones si desea simular después de la adición.

Nota 5: Usted puede obtener una advertencia de que algunas cosas se se obtienen con una clavija de combinatoria. Esto está muy bien, no afecta el juego.

Parte 8. Cargar el archivo de bits en el FPGA. Porque a pesar de todo este trabajo, la FPGA todavía no hace nada. Para hacer esta descarga e instalar un programa llamado a Adept.

Puedes encontrarla aquí http://www.digilentinc.com/Products/Detail.cfm?Nav...

Una vez instalado conectar el cable micro del USB a la FPGA y seleccione el archivo de bits. Luego presione program. Si llegue a esta parte sin saltarse los pasos un pequeño juego que llamamos nuestro proyecto debe estar sentado frente a ti.

Artículos Relacionados

Juego de pong con fpga kit

Juego de pong con fpga kit

Hola cada uno. Aquí compartí el proyecto "pong juego utilizando fpga kit". FPGA es arreglo de compuertas programables en campo. es una tecnología que podemos diseñar cualquier dispositivo digital por programación. eso significa que el kit de fpg
Cómo controlar un motor paso a paso con un FPGA

Cómo controlar un motor paso a paso con un FPGA

Este instructivo le guiará por el proceso y algunos conocimientos sobre cómo conseguir un motor paso a paso trabajando en una FPGA. Específicamente un Motor de pasos a Nema, Digilent Basys 3 y Digilent PmodSTEP.Actualmente soy profunda en el proceso
Juego de evitación del obstáculo

Juego de evitación del obstáculo

Para esta tarea nos dados una tarjeta Altera DE2-115 con un ciclón IV E FPGA y dijo para crear un proyecto que utiliza el hardware de la placa y el lenguaje Verilog HDL que hemos aprendido en clase. Hemos pensado que sería interesante contar con un p
Cómo construir tu propia estructura de juego garra

Cómo construir tu propia estructura de juego garra

Junto con muchas otras personas, tengo recuerdos de la infancia de caminar en una sala de cine, tienda de comestibles o arcade y ver una caja de cristal llena de juguetes. Siempre fue eso un juguete enterrado o situado justo en la parte superior que
El software de FPGA Altera y Quartus II

El software de FPGA Altera y Quartus II

esto es una caminata paso a paso a través de cómo configurar y utilizar el software Quartus y subirlo a la FPGA de Altera Cyclone.  Hace como una cartilla para el curso de mi colegio (Ivy Tech CC) Digital Fundementals EECT122.  Esto cubrirá en gran d
Cómo usar un Joystick con una FPGA

Cómo usar un Joystick con una FPGA

Este instructable es otra parada en mi viaje para construir el juego garra impulsado por una FPGA. Anteriormente escribí cómo controlar un motor paso a paso con una FPGA. Ahora necesitaba para el control de un joystick por lo que finalmente me puedo
El increíble laberinto de juego para SDMONexys 3

El increíble laberinto de juego para SDMONexys 3

Hola a todos! Se trata de cómo crear un juego de laberinto reprogramable usando una tabla de Nexus 3.Somos dos estudiantes en Cal Poly San Luis Obispo y este es nuestro proyecto final para nuestra clase de diseño Digital. El objetivo era crear un jue
Clon de Simon FPGA

Clon de Simon FPGA

Este es un clon de simon básico / Folower del juego que pueden crear en una FPGA.Paso 1: Obtener los materiales necesarios1. FPGA Junta2. protoboard3. LED4 hilos5. software: Digilent AdeptPaso 2: Módulos construcciónContador de 8 bits (utilizado como
FPGA Tic Tac Toe

FPGA Tic Tac Toe

¿"Tic Tac Toe? ¿Qué es eso? Nunca oí de eso."-Nadie nuncaPor Ryan Frawley y Derek NguyenEsta guía le mostrará cómo hacer un trabajo de Tic Tac Toe juego en VHDL en un tablero de SDMONexys 2 FPGA. Este tutorial fue hecho por parte de un proyecto
PS2 Teclado para FPGA

PS2 Teclado para FPGA

Los chips FPGA proporcionan una buena manera para aprender electrónica digital y realizar algunos proyectos, sin embargo muy a menudo carecen de bibliotecas preelaboradas, así cada módulo externo debe ser cuidadosamente analizada para escribir un con
Paso 8 FPGA secuenciador y sintetizador

Paso 8 FPGA secuenciador y sintetizador

En este tutorial, vamos a hacer un sintetizador de 8 paso de nuestro tablero FPGA. Vamos a trabajar con la Junta de Digilient SDMONexys 2 pero nuestro código se pudo modificar por otras tablas. Este proyecto fue construido por Lincoln Tran y Joseph C
Con un Joystick para controlar motores paso a paso con una FPGA

Con un Joystick para controlar motores paso a paso con una FPGA

En el tercer paso en mi camino para recrear el juego de la garra con la Basys3, he conectado dos PmodSTEP, dos motores paso a pasoy la PmodJSTK a la Basys3 que puedo controlar cada uno de los servos con la PmodJSTK.Para ello conecté el código de cómo
Nueve-brillo-línea: El juego de la sincronización del LED

Nueve-brillo-línea: El juego de la sincronización del LED

El juego 9-brillo-es un sencillo pero entretenido juego de la sincronización de LED que requiere el jugador detener una movimiento de la luz en el LED del medio. Mientras el juego progresa, aumentará la velocidad de la luz a través de diez niveles ll
Juego de conversión binario decimal

Juego de conversión binario decimal

"Sólo hay 10 tipos de personas en el mundo: los que entienden binario y los que no."Este divertido y educativo juego prueba su capacidad para convertir a números decimales a números binarios. También es una gran manera de desafiar a tus amigos e