Tu primer programa VHDL: Tutorial paso a paso Hello World
Cuando aprendes un nuevo lenguaje, imprimir un mensaje simple es un sanity check clásico. Dominar la salida de "¡Hola Mundo!" confirma que tu entorno está configurado correctamente y te da una vista de la sintaxis core del lenguaje.
VHDL es un lenguaje de descripción de hardware, no un lenguaje de software tradicional, así que podrías preguntar cómo puede mostrar texto. El truco es que el código VHDL se ejecuta dentro de un simulador, que puede emular un circuito digital y emitir mensajes de diagnóstico a tu pantalla. Este tutorial se enfoca exclusivamente en el lenguaje, no en hardware FPGA o ASIC.
Este artículo es parte de la serie Tutoriales Básicos VHDL.
Piensa en VHDL como un lenguaje de programación paralelo: describes cómo se comporta un circuito, y un simulador corre esa descripción en un entorno virtual. Dentro de ese entorno, puedes producir fácilmente salida de consola, haciendo "¡Hola Mundo!" un punto de partida ideal.
Cómo instalar simulador y editor VHDL gratis
Ejercicio
Este tutorial de video te guía creando tu primer programa VHDL:
El código final que produjimos:
entity T01_HelloWorldTb is end entity; architecture sim of T01_HelloWorldTb is begin process is begin report "Hello World!"; wait; end process; end architecture;
La salida de consola del simulador tras presionar run en ModelSim:
VSIM 2> run # ** Note: Hello World! # Time: 0 ns Iteration: 0 Instance: /t01_helloworld
Análisis
Al principio, declaramos una entidad. La entidad define la interfaz de un módulo —sus entradas y salidas. Para un testbench simple que solo imprime mensaje, no se requieren puertos, así que la entidad se deja intencionalmente vacía.
Luego, especificamos la arquitectura, que representa la implementación interna del módulo. La arquitectura es donde vive la lógica real; una sola entidad puede tener múltiples arquitecturas, pero eso es feature avanzado que cubriremos después.
Dentro de la arquitectura, se define un proceso. En VHDL, un proceso se comporta como un hilo, ejecutando sentencias secuencialmente. Aquí, el proceso contiene dos sentencias:
report "Hello World!"– envía el texto a la consola del simulador.wait;– suspende el proceso indefinidamente, previniendo que el simulador continúe acciones adicionales.
Al simular el diseño en ModelSim, la consola muestra inmediatamente el mensaje "¡Hola Mundo!", confirmando que el código es sintácticamente correcto y que el simulador funciona.

Conclusión
- En VHDL, un
processactúa como hilo de programa. - La sentencia
reportimprime texto en consola del simulador. - Una sentencia
wait;pausa el proceso para siempre, útil para testbench simple.
Ir al siguiente tutorial »
VHDL
- Acelere la Producción: Cómo el Prototipado Mejora su Proceso de Fabricación
- C# Hola Mundo – Construyendo su primera aplicación en C#
- Construyendo tu primer FPGA: Tutorial parpadeo LED (VHDL y Verilog)
- Creación de listas de cadenas en VHDL: Buenas prácticas y ejemplo
- Creación de un testbench dirigido por Tcl para un módulo VHDL de cerradura por código
- Implementación de un controlador PWM en VHDL: Diseño, simulación y demo en FPGA
- Diseño de un búfer circular FIFO robusto en VHDL usando RAM de bloques
- Implementación de lista enlazada dinámica en VHDL con tipos protegidos y punteros de acceso
- Aprovechando procedimientos en-proceso para diseños FSM más limpios en VHDL
- Dominando funciones VHDL: Guía práctica para diseño eficiente
- Java Hello World: Tu Primer Programa