'Simon' CPE 133 Final proyecto (1 / 6 paso)

Paso 1: Máquina de estado finito de primera

Los dos Estados del primer FSM hemos creado fueron pantalla y espere para mostrar correctamente un patrón en los LEDs.

El FSM comienza en el estado de espera y una vez que se presiona la señal de partida, se movería para el estado de visualización para mostrar el patrón. Una vez que se generó la pantalla, el programa sería volver al estado de espera basado en el valor de contador máximo ser alta que transferiría entonces al segundo FSM que compararía el usuario de entrada a la pantalla.

Estado de visualización:

En nuestro proyecto, hemos querido crear un patrón aleatorio para los LEDs. Para ello, el código debe tener un generador de números aleatorios. Utilizamos vhdl para un LFSR (linear feedback shift registro) que nos fue dado en clase por profesor Danowitz para el generador de números aleatorios.

Este generador de números aleatorios debe conectarse a los LEDs, donde diferentes salidas del generador se asocian a cada uno de los 4 LEDs. Nuestro generador de números aleatorios genera un número aleatorio de 32 bits, y dividimos cada LED para encender en base a lo que fue el valor del generador de números aleatorios en hexadecimal.

Es importante en el vhdl tiene una señal de inicio, que asigna a un botón. En este caso, cada vez que se pulsa el botón y luego comenzaría el generador de números aleatorios y por lo tanto, mostraría los LEDs. Con esto, el usuario tiene la opción de iniciar el juego cada vez que estén listos.

Además, hemos creado un temporizador para retardar el reloj en orden para la exhibición de LED que sean visibles para el ojo humano en vez de ser iluminados por un nanosegundo. Encontramos un ejemplo de un temporizador en línea que hemos modificados para trabajar para nuestro juego que puede encontrarse en las referencias. El temporizador también crea una señal de contador máximo: esto ocurre cuando clock pasa a través de un ciclo.

También hemos introducido un d-flip-flop para enganchar el valor generado por el LFSR para ciclo de reloj. Esta salida entonces se convirtió en la entrada del multiplexor para que el LED sería bien dado vuelta encendido o apagado por ciclo de reloj. Debido al multiplexor, tenemos una señal de selección que se determina por el estado del FSM; Si el estado es la pantalla y seleccione sería alta, si estaba a la espera entonces sería baja. Esta es una técnica que utiliza para que el LED permanecer encendido por un período corto de tiempo y luego se apague para crear un patrón.

Estado de espera:

El propósito del estado de espera fue para que la exhibición de LED para decirle al programa cuando el modelo estaba listo para ser generado y luego continuar en el próximo FSM cuando fue terminado mostrando el patrón.

Artículos Relacionados

Makerspace Final proyecto [Guillaume Montpetit]

Makerspace Final proyecto [Guillaume Montpetit]

Mi proyecto es simplemente una canción que he creado con Ableton Live 9 Suite.Usted puede pensar: ¿cómo una canción puede ayudar un problema de la vida real? ¿Bueno, la pregunta es: has sentido muy mal en su vida y escuchando buena música y de repent
Juego de LED temporizador Nexys3

Juego de LED temporizador Nexys3

Este es un tutorial de cómo hacer el juego de temporizador. El juego de temporizador está inspirado en el luz juego de arcade, el juego donde una luz se mueve a lo largo de una cadena de luces y tratar de parar en la luz roja para ganar un premio. Es
FPGA LED FSM

FPGA LED FSM

Resumen:Los ingenieros de diseño: Ryan Ortiz, Chris Harlow, Dalton Wunderlich y Ramón CrespoEste proyecto fue completado como parte de una clase de CPE 133 como proyecto final.Esta FPGA está conectado a un sensor de movimiento infrarrojo, así como un
CNC Stomp Pad proyecto | Programación CNC | Programación de código G | CNC Plasma Cutting

CNC Stomp Pad proyecto | Programación CNC | Programación de código G | CNC Plasma Cutting

Este Instructable trata de hacer un cojín de stomp personalizado para una tabla de snowboard. Se utiliza diseño de CNC, programación de CNC y corte por Plasma CNC para obtener todo el trabajo hecho. Primero empieza en el lado de la computadora del CN
Regulador de temperatura Solar pequeño

Regulador de temperatura Solar pequeño

Se trata de un proyecto final para nuestra clase de CPE 133 en Cal Poly que fue diseñado para ser una versión a pequeña escala de un obturador automático y aislante. El sistema tiene dos sondas de temperatura para medir la temperatura interna y exter
Automático cerrado ratón inalámbrico (prototipo)

Automático cerrado ratón inalámbrico (prototipo)

Descargo de responsabilidad: Este es un prototipo y hará que su ratón inalámbrico "con cable". Además, dependiendo de su ratón, puede perder su capacidad de deslizar a través de la mesa/alfombrilla de ratón.Para nuestro proyecto final en CPE 133
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
VHDL Synth fotosensible máquina

VHDL Synth fotosensible máquina

Este proyecto y su tutorial fueron completados como parte de nuestro proyecto final de CPE 133 Cal Poly San Luis Obispo. Nuestro objetivo era crear un completo juego lógico en VHDL usando un tablero de SDMONexys 3 FPGA y un componente off-board. En l
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
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
VHDL Etch-a-Sketch

VHDL Etch-a-Sketch

Para nuestro proyecto Final de CPE 133 en Cal Poly, San Luis Obispo, construyó un Etch-a-Sketch utilizando VHDL en la Junta de SDMONexys 3 de Diligant. Una Junta de SDMONexys 3 que puede construir circuitos lógicos sin preocuparse de complejas interf
Juego BitRunner FPGA

Juego BitRunner FPGA

Crear y jugar su propio juego de corredor de Bit. Ninguna consola o computadora carnoso necesaria! Pulse el botón de esquivar para esquivar obstáculos entrantes para lograr la puntuación más alta! Este proyecto es bien difícil, un reto para los princ
SDMONexys 2 - Whack A Mole

SDMONexys 2 - Whack A Mole

En este proyecto, trabajamos en nuestra versión del golpe un juego de topo que todo fue simulado en un tablero de SDMONexys-2. Un tablero de SDMONexys-2 es un arreglo de compuertas programables en campo (FPGA). El FPGA actúa como un dispositivo basad