¿Que es VHDL?

VHDL es el acrónimo que representa la combinación de VHSIC y HDL, donde VHSIC es el acrónimo de Very High Speed Integrated Circuit y HDL es a su vez el acrónimo de Hardware Description Language.

Es un lenguaje definido por el IEEE (Institute of Electrical and Electronics Engineers) (ANSI/IEEE 1076-1993) usado por ingenieros para describir circuitos digitales

modelo VHDL

VHDL significa very-high-speed integrated circuits hardware description language o lenguaje de descripción de hardware de circuitos integrados de muy alta velocidad.

Como indica su denominación es un lenguaje similar a ADHL o Verilog usado para describir circuitos internos y la programación de FPGAs. Estos lenguajes presentan un mismo objetivo y se diferencia del clásico C (o cualquiera parecido a este) por ser un lenguaje paralelo no secuencial

Un FPGA no es como un microcontrolador, en realidad es un conjunto masivo de celdas o bloques lógicos programables. Estas celdas son programadas individualmente para convertirse en pequeños bloques de construcción. Pueden ser compuertas simples (AND, OR y NOT, etc) o flip-flops.
FPGA Xilinx
Xilinx FPGA (Spartan XC3S400). Posee 400000 compuertas y funciona a 50 MHz
Así que la diferencia entre una FPGA y un micro es que nosotros programamos cada celda para funcionar como un bloque de lógica. Esto significa que, debido a que cada bloque es tan independiente, todos están operando al mismo tiempo. A diferencia de un micro donde cada línea de código se procesa a su vez. Por lo tanto los programadores de FPGA pueden conseguir velocidades mucho más altas de procesamiento… en teoría.

Este punto anterior es muy importante a tener en cuenta. Un programa realizado en VHDL puede parecer como un programa de computadora clásico (secuencial) y puede procesar los datos en los cambios de flanco del clock, pero hay que recordar que todo está funcionando a la vez (paralelo).

El lenguaje se encuentra definido bloques también. Cada función que deseamos, es a nivel superior definida por una “entidad” donde se especifica las entradas y salidas del bloque. Por ej, una compuerta AND queda definida como:

entity ANDGATE is

Port( A, B : in bit;

X : out bit);

end ANDGATE;

Los bits del lenguaje se definen dentro de la entidad y se denomina “arquitectura”, la compuerta AND quedaría:

begin

X <= A and B;

end inst;

El lenguaje VHDL contiene otros comandos más complejos que pueden existir dentro de la arquitectura como Loops While, If y If-Else. Todos los tipo de cosas que se ven en la programación en C. Sin embargo, cuando se define un bucle en C el código da vueltas y vueltas, en VHDL que en realidad podríamos estar diciendo que genera múltiplos bloques idénticos de lógica y que todos ellos procesen los datos en un ciclo de clock – si así se requiere.

que es VHDL

Aprender VHDL para personas que se han escrito en C en micros por mucho tiempo puede consistir en un desafío bastante importante al tener que enfocarse a pensar sobre el hardware.

VHDL es un lenguaje muy sencillo pero también muy poderoso. No es tan flexible como un micro a los ojos de algunas personas, pero un buen programador se pueden generar cosas que no puedes comprar o replicar con un micro, diseñando el hardware según nuestros requisitos.

Para los que quieren comenzar a programar es recomenable la herramientas gratuitas Altera. Nos permite diseñar y simular sin necesidad de ningún hardware.

Para más detalles sobre VHDL, ejemplos y consejos los siguientes sitios son recomendados: