VHDL

El lenguaje VHDL es utilizado para la programación de dispositivos de lógica programable como los FPGA y CPLD. Aunque VHDL es un lenguaje de programación como cualquier otro en cuanto a que tiene las estructuras básicas de programación, también es importante mencionar que la ejecución de los códigos en VHDL no es igual a la ejecución de los códigos en microprocesadores y microcontroladores.

En el lenguaje VHDL el código se compone de dos partes fundamentales: La Entidad (Entity) y La Arquitectura. En la entidad se declaran los puertos de entrada y salida que conectan al dispositivo con el mundo exterior.
VHDL es un lenguaje de especificación definido por el IEEE utilizado para describir circuitos digitales y para la automatización de diseño electrónico. VHDL es acrónimo proveniente de la combinación de dos acrónimos: VHSIC y HDL.


¿Cómo programar en VHDL?

Lo primero ante esta pregunta es aclarar una idea. En VHDL no se programa, se describen circuitos electrónicos. Para poder comenzar a trabajar tenemos que tener muy claro que es lo que queremos describir. En caso contrario acabaremos con algo grande, lento y lleno de fallos.

Los lenguajes más utilizados para describir el hardware son VHDL y Verilog, los cuales tienen una sintaxis parecida a la de la programación en C, pero en lugar de ejecutar un programa, describen la organización de las diferentes partes del mismo a base de módulos interconectados; cada módulo está descrito de la siguiente manera:

  • Inputs: que son las entradas de datos que tiene el módulo.
  • El código principal que hace dicho módulo con esos parámetros de entrada.
  • El Output que son los datos de salida del módulo.

En VHDL los módulos son llamados entidades:

entity andGate is

    port(A : in std_logic;     
         B : in std_logic;      
         Y : out std_logic); 
end andGate;
architecture andLogic of andGate is
 begin
    Y <= A AND B;
end andLogic;

Referencias:

Comentarios

Entradas populares de este blog

Software para programar amiba2 (INTegra)

Amiba 2

¿QUÉ ES UN USART?