Cómo crear tu primer programa VHDL:¡Hola mundo!
Cuando aprendo un nuevo lenguaje de programación, siempre me gusta comenzar aprendiendo a imprimir. Cuando dominas la salida de "¡Hola mundo!", sabes que tienes el entorno funcionando. También le muestra el esqueleto básico del lenguaje, el código mínimo necesario para producir cualquier resultado.
Podría estar pensando:pero VHDL es un lenguaje de descripción de hardware, ¿cómo puede generar cualquier texto? Necesitaría una pantalla conectada a un FPGA o algo así y todo tipo de lógica en el medio, y eso no sería nada simple. Si bien todo esto es cierto, olvidémonos de los FPGA y ASIC solo por un momento y centremos nuestra atención en el lenguaje VHDL.
Esta publicación de blog es parte de la serie Tutoriales básicos de VHDL.
Se puede pensar en VHDL como un lenguaje de programación paralelo y, por lo tanto, podemos usar el enfoque de este programador para aprenderlo. Dado que usamos el lenguaje para describir circuitos digitales, la única forma en que podemos ejecutarlo en nuestra computadora es usando un simulador , y el simulador definitivamente es capaz de mostrar "¡Hola mundo!" a la pantalla.
Cómo instalar un simulador y editor VHDL gratis
Ejercicio
Este video tutorial le mostrará cómo crear su primer programa VHDL:
El código final que creamos:
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 a la consola del simulador cuando presionamos el botón ejecutar en ModelSim:
VSIM 2> run # ** Note: Hello World! # Time: 0 ns Iteration: 0 Instance: /t01_helloworld
Análisis
En las dos primeras líneas, declaramos la entidad . La entidad de un módulo declara sus entradas y salidas. Para que sea posible ejecutar un módulo en un simulador, no puede tener entradas ni salidas. Por lo tanto, nuestro módulo no tiene nada más que una declaración de entidad vacía.
A continuación, declaramos la arquitectura del módulo Mientras que la entidad es la interfaz de un módulo con el mundo exterior, la arquitectura es su implementación interna. Un módulo puede tener varias arquitecturas que pueden ser utilizadas con la misma entidad. No me preocuparía demasiado por estas cosas en este momento, ya que son funciones VHDL avanzadas.
Dentro de la arquitectura, declaramos un proceso . Por ahora, podemos pensar en un proceso como un hilo en nuestro programa, donde las cosas suceden secuencialmente.
Dentro del proceso, imprimimos “Hello World!” utilizando el report
palabra clave. En la siguiente línea, hay un solo wait;
. Cuando el simulador llega a esta línea, no sucederá nada más. El proceso esperará aquí para siempre.
Cuando simulamos este diseño en ModelSim, pudimos ver que "¡Hola mundo!" se imprimió en la salida de la consola. Después de eso, no pasó nada más.
Para llevar
- Puede pensar en un proceso como un hilo de programa
- El
report
declaración imprime texto en la consola del simulador - La ejecución de un proceso esperará para siempre en un
wait;
declaración
Ir al siguiente tutorial »
VHDL
- Tutorial:su primer programa FPGA:un LED intermitente
- C# Hello World:su primer programa en C#
- Programa Java Hola Mundo
- Cómo crear una lista de cadenas en VHDL
- Cómo crear un banco de pruebas controlado por Tcl para un módulo de bloqueo de código VHDL
- Cómo crear un controlador PWM en VHDL
- Cómo crear un FIFO de búfer de anillo en VHDL
- Cómo crear una lista enlazada en VHDL
- Cómo usar un procedimiento en un proceso en VHDL
- Cómo usar una función en VHDL
- Cómo los prototipos mejoran su proceso de fabricación