Ejercicio 0 – Primer contacto con Verilog HDL en FPGA (Nexys A7)
¿Qué vamos a construir y para qué sirve?
En este ejercicio inicial se construye un módulo en Verilog HDL que conecta directamente los 16 interruptores físicos de la tarjeta Nexys A7 con sus 16 LEDs correspondientes.
El objetivo no es la complejidad del circuito, sino ofrecer un primer contacto claro y tangible con el diseño digital sobre FPGA. Al cargar este diseño en la tarjeta, el lector puede ver de inmediato cómo una descripción en Verilog se transforma en hardware real.
Este ejercicio sirve como punto de partida para:
- Entender la estructura básica de un módulo Verilog
- Aprender a declarar entradas y salidas
- Familiarizarse con el flujo inicial de trabajo en Vivado
- Perder el miedo al primer diseño en FPGA
Conceptos clave que necesitas entender
El circuito implementado es un diseño combinacional puro. Esto significa que no existe memoria ni dependencia temporal: las salidas reflejan en todo momento el estado actual de las entradas.
En términos de hardware, cada LED está conectado directamente a su interruptor correspondiente. En Verilog, este comportamiento se describe mediante asignaciones continuas, que representan conexiones permanentes dentro del circuito.
En este ejercicio aún no se utilizan conceptos como:
- Relojes
- Registros
- Bloques
always - Lógica secuencial
- Máquinas de estado
Esta decisión es intencional. Antes de introducir el tiempo y el estado, es fundamental comprender cómo fluye la información en un circuito digital básico.
¿Dónde se usa esto en el mundo real?
Aunque el ejercicio es sencillo, el principio que introduce aparece constantemente en sistemas reales:
- Paneles de control industriales con indicadores luminosos
- Interfaces de usuario en equipos electrónicos
- Sistemas de diagnóstico y prueba de hardware
- Prototipos rápidos para validación de entradas y salidas
En aplicaciones más complejas, este tipo de conexión directa suele ser el primer nivel de interacción entre señales físicas y lógica de procesamiento.
Código del ejercicio en GitHub
Todo el código fuente de este ejercicio, junto con la estructura general del repositorio y los ejercicios posteriores, está disponible en GitHub.
👉 Repositorio de ejercicios en Verilog HDL para FPGA:
Cada ejercicio está organizado en carpetas independientes y diseñado para ser implementado sobre la Nexys A7 usando Vivado.
Reto: genera tu propia versión con ayuda de IA
Como ejercicio complementario, se recomienda intentar generar el módulo por cuenta propia utilizando una herramienta de inteligencia artificial, analizando cuidadosamente el resultado.
Prompt sugerido:
Actúa como un ingeniero experto en diseño digital con FPGA y Verilog HDL.
Escribe un módulo Verilog para la tarjeta Nexys A7 que conecte directamente 16 interruptores de entrada con 16 LEDs de salida, utilizando únicamente lógica combinacional y asignaciones continuas.
El código debe ser claro, sintetizable y estar correctamente comentado.
El objetivo no es copiar el código generado, sino compararlo con el ejercicio, identificar similitudes y diferencias, y reforzar la comprensión del diseño.
