Tabla de contenido:
- Paso 1: Materiales necesarios
- Paso 2: Configuración del LFSR (registro de desplazamiento de retroalimentación lineal)
- Paso 3: Configuración de la pantalla de siete segmentos
- Paso 4: creación del módulo de juego
- Paso 5: ¡Jugar el juego
Video: CPE 133 Proyecto final de decimal a binario: 5 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:40
Los números binarios son una de las primeras cosas que me vienen a la mente cuando se piensa en lógica digital. Sin embargo, los números binarios pueden ser un concepto difícil para los nuevos.
Este proyecto ayudará a aquellos que son nuevos y experimentados con números binarios a dominar la conversión de números decimales. Mediante la creación de un juego, probaremos a los usuarios en su habilidad de conversión. Este juego se ejecutará en un tablero Basys3 y se programará en Verilog.
Paso 1: Materiales necesarios
Se necesitan los siguientes materiales para hacer este juego de conversión de decimal a binario:
- Software Xilinx Vivado Design Suite
- Placa FPGA Digilent Basys3
- Cable USB a Micro USB
Paso 2: Configuración del LFSR (registro de desplazamiento de retroalimentación lineal)
Un LFSR (Registro de desplazamiento de retroalimentación lineal) es un módulo que se utiliza para generar números "aleatorios".
Un LFSR no es completamente aleatorio, ya que genera números pseudoaleatorios, que es un proceso de generación de números que parecen aleatorios pero no lo son.
Un LFSR es un registro de desplazamiento cuyo bit de entrada es una función lineal de su estado anterior, lo que significa que el LFSR recorrerá un conjunto finito de números. Específicamente para este juego, el LFSR solo usará 8 bits para limitar el número decimal que puede generar a 255.
El botón L (btnL) se usa para restablecer el número en el LFSR.
Este módulo LFSR no fue creado por los creadores de este juego. El módulo LFSR fue creado por el profesor de la Universidad de Carleton, John Knight. El enlace de su módulo se incluye a continuación.
www.doe.carleton.ca/~jknight/97.478/97.478_…
Paso 3: Configuración de la pantalla de siete segmentos
Se utiliza una pantalla de siete segmentos en el tablero Basys3 y en muchas otras piezas de hardware para mostrar caracteres alfanuméricos.
El módulo de visualización de siete segmentos que se utiliza en este juego convierte un número binario en un número decimal y lo muestra como un número decimal.
Al utilizar el módulo LFSR discutido anteriormente, se emitirá un número generado aleatoriamente en la pantalla de siete segmentos.
El módulo de visualización de siete segmentos no fue creado por los creadores de este juego. El módulo de visualización de siete segmentos fue proporcionado por el profesor de la Universidad Politécnica Estatal de California, Joseph Callenes-Sloan. El pdf del módulo se adjunta a continuación.
Paso 4: creación del módulo de juego
Crear módulo de juego (principal).
Este módulo utilizará el módulo LFSR para generar un número aleatorio y luego enviarlo a la pantalla de siete segmentos.
Luego, el módulo usa un bloque siempre que restablece el número aleatorio. Esto opera en el borde positivo del Botón R (btnR), lo que significa que solo funcionará cuando se haya presionado el Botón R.
El segundo bloque siempre opera en el flanco positivo del reloj (clk). Si se presiona el botón C (btnC), se verificará si el número en la pantalla de siete segmentos es el mismo que el número de entrada de los interruptores (sw). Este bloque levantará una bandera (establecerá el registro de banderas (bandera) en 1) y cambiará el cable messageVal según si el usuario ha ganado o perdido.
El tercer bloque siempre también opera en el flanco positivo del reloj. Si se levanta la bandera, establecerá ssegInputVal en el cable messageVal en la pantalla de siete segmentos. Si la bandera no se levanta, continuará emitiendo el número aleatorio (randomVal).
Paso 5: ¡Jugar el juego
Instrucciones:
- El usuario presionará el botón R para crear un nuevo juego o cambiará el número en la pantalla de siete segmentos.
- El usuario moverá los primeros 8 interruptores hacia arriba (1) o hacia abajo (0) para ingresar el número binario que representa.
- El botón C se utilizará para comprobar si el usuario ganó o perdió.
- Si el usuario ganó '111' se mostrará en la pantalla de siete segmentos.
- Si el usuario perdió, se mostrará "0" en la pantalla de siete segmentos.
- Para iniciar un nuevo juego, se puede presionar el botón R en cualquier momento.
Recomendado:
ECG automatizado - Crédito adicional del proyecto final de BME 305: 7 pasos
ECG automatizado - Proyecto final de BME 305 Crédito adicional: Un electrocardiograma (ECG o EKG) se utiliza para medir las señales eléctricas producidas por un corazón que late y juega un papel importante en el diagnóstico y pronóstico de las enfermedades cardiovasculares. Parte de la información obtenida de un ECG incluye el ritmo
PHYS 339 Proyecto final: Theremin simple: 3 pasos
PHYS 339 Proyecto final: Theremin simple: Como músico recreativo y físico, siempre he pensado que los theremins son el instrumento electrónico más genial. Su sonido es casi hipnótico cuando lo toca un profesional, y la teoría electrónica necesaria para que funcionen es bastante si
Calculadora de binario a decimal: 8 pasos
Calculadora de binario a decimal: Para el grado once de ingeniería informática, tuve que decidirme por un proyecto final. Al principio no sabía qué hacer porque tenía que incluir ciertos componentes de hardware. Después de unos días, mi compañero de clase me dijo que hiciera un proyecto basado en la adición de cuatro bits
Metrónomo CPE 133: 3 pasos
Metrónomo CPE 133: Para nuestro proyecto final en Cal Poly creamos un dispositivo de mantenimiento de tempo llamado metrónomo, elegimos este proyecto por interés en la música y el diseño digital. Usamos laboratorios anteriores en CPE 133 para ayudar a diseñar nuestro código y tutoriales en línea para ayudar en la co
Clasificador de basura CPE 133: 14 pasos
Clasificador de basura CPE 133: Para nuestra clase CPE 133 en Cal Poly, nos dijeron que creáramos un proyecto VHDL / Basys 3 que ayudaría al medio ambiente y era lo suficientemente simple como para poder implementarlo con nuestro nuevo conocimiento de diseño digital. La idea detrás de nuestro proyecto que, en general