¿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:

National Webench Tools

Si estas cansado de tener varios programas instalados y realizar en cada uno un diseño, para poder comparar la resultados y poder elegir la opción óptima, “llego” tu solución.
Webench es un entorno online gratuito con multiples herramientas para realizar diseños electronicos de fuentes de alimentacion.

software electronica online

National Webench® Tools es un juego de herramientas online gratuitas para realizar diseños electrónicos. Como ya pueden imaginar pertenece a la gigante National Instruments con todo lo que eso significa.

Este entorno de herramientas online fue presentado inicialmente en 1999 con el objetivo de brindar una rápida solución al diseño de fuentes de alimentación. Actualmente Webench nos permite crear circuitos individuales o de múltiples niveles, con la posibilidad de poder analizar su comportamiento, obtener simulaciones,  los esquemáticos, etc   permitiéndonos comparar entre distintos diseños y elegir el que consideramos mejor.

Para realizar la comparación dispone de una herramienta gráfica (más fácil aún) llamada WEBENCH® Visualizer, que en una sola captura nos muestra la información basada en tres criterios eficiencia, tamaño del footprint y costo de  los materiales.

webench visualizer

Otra de las herramientas es WEBENCH® Optimizer Dial, la cual es solamente un dial que podemos mover y que nos permite modificar los algoritmos usados en la confección del diseño pudiendo hacer foco en el tamaño del footprint, el costo de los materiales  o en la eficiencia.

webench dial

Desde la pagina nos indican que modificando el dial podemos acceder a 50-70 diseños posibles de entre un total de 48 billones.

Las dos herramientas explicadas arriba son comunes a cualquier diseño, Webench no se quedó en el tiempo ofreciendo únicamente diseñar fuentes de alimentación, sino que fue agregando nuevas posibilidades.

webench design

Con el empleo Webench® pueden evitarse el instalar múltiples aplicaciones de escritorio (software para electronica) para poder diseñar y comparar los resultados obtenidos.

Si bien al principio puede resultar un poco confuso por la gran cantidad de “cosas” con las cuales podemos jugar y tocar, con un poco de paciencia van a poder notar que en realidad es muy sencillo y todas las variantes se encuentran bien separadas y marcadas