vhdl

9
LENGUAJE 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. Otros métodos para diseñar circuitos son la captura de esquemas (con herramientas CAD) y los diagramas de bloques, pero éstos no son prácticos en diseños complejos. Otros lenguajes para el mismo propósito son Verilog y ABEL. Aunque puede ser usado de forma general para describir cualquier circuito se usa principalmente para programar PLD (Programable Logic Device - Dispositivo Lógico Programable), FPGA (Field Programable Gate Array), ASIC y similares. 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 micro controlador, 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.

Transcript of vhdl

Page 1: vhdl

LENGUAJE 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. Otros métodos para diseñar circuitos son la captura de esquemas (con herramientas CAD) y los diagramas de bloques, pero éstos no son prácticos en diseños complejos. Otros lenguajes para el mismo propósito son Verilog y ABEL.

Aunque puede ser usado de forma general para describir cualquier circuito se usa principalmente para programar PLD (Programable Logic Device - Dispositivo Lógico Programable), FPGA (Field Programable Gate Array), ASIC y similares.

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 micro controlador, 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.

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

Page 2: vhdl

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).

PROPIEDADES Y CARACTERÍSTICAS

1. Disponibilidad pública

Independientemente de los beneficios obtenidos a partir de las características concretas del lenguaje que se describirán más adelante, VHDL es un estándar no sometido a ninguna patente o marca registrada: así puede utilizarse sin restricciones por cualquier empresa o institución. Al estar mantenido y documentado por el IEEE, existe una garantía de estabilidad y soporte. Actualmente se está trabajando en la definición de mecanismos de certificación de las herramientas que utilicen VHDL.

2. Independencia de la metodología y tecnología de diseño

VHDL se ha diseñado para soportar diferentes metodologías de diseño ('top-down' frente a diseño basado en módulos) así como diferentes tecnologías de diseño (circuitos comerciales, microprocesadores, PLDs, FPGAs, ASICs, etc) con distinta funcionalidad (circuitos combi nacionales, síncronos y asíncronos). De este modo, el lenguaje puede usarse por organizaciones con puntos de vista diferentes y satisface las necesidades de di-seño distintas que pueden tener el sistemita, el centro de diseño de ASICs, la fundición o el vendedor de herramientas CAD.

3. Independencia de la tecnología y proceso de fabricación

VHDL ha sido diseñado para ser independiente de la tecnología y el proceso de fabricación del circuito o el sistema electrónico. El lenguaje puede ser utilizado en la especificación, documentación y descripción de circuitos MOS, bipolares, BiCMOS o GaAs. Sin embargo, si se desea, es posible incluir en la descripción VHDL información específica tanto de la tecnología utilizada como de sus características (retrasos, consumos, dependencia de la temperatura, etc.).

4. Capacidad descriptiva en múltiples dominios y niveles de abstracción

Recibe el nombre de nivel de abstracción cada uno de los niveles de detalle en que se configura el proceso de diseño, desde la especificación hasta la implementación final. Recibe el nombre de dominio de descripción cada uno de los tres tipos de información que es necesario aportar en cada nivel de abstracción [TFRRU95]: funcional o de comportamiento, estructural (elementos y su interconexión) y físico (elementos físicos y posicionado de los mismos).

Page 3: vhdl

El diseño digital se configura, de esta manera, como un proceso jerárquico que, desde el conjunto de especificaciones iniciales, y a partir de implementaciones intermedias a distintos niveles y en diferentes dominios, finaliza con el 'layout' del PCB o del CI como implementación final. VHDL ha sido diseñado para dar soporte en un amplio rango de niveles de abstracción y dominios de descripción.

La utilización de un único lenguaje en todo el proceso de diseño reduce el número de representaciones internas, simplificando el manejo de datos. Los distintos componentes del sistema pueden diseñarse con mayor independencia, ya que el entorno permite la simulación multinivel, es decir, combinandora de componentes descritos al nivel de especificación con componentes ya implementados al nivel de puerta. Las formas de onda de simulación utilizadas en la verificación de la corrección de las especificaciones pueden utilizarse a lo largo de todo el proceso de diseño, asegurando que las distintas implementaciones intermedias reflejan correctamente la intención de la especificación inicial.

La reducción del número de representaciones simplifica el número de herramientas a utilizar. Por ejemplo, un mismo simulador puede utilizarse en distintos niveles de abstracción (RT, lógico, etc.). Una misma herramienta de síntesis puede aplicar los algoritmos adecuados al nivel de detalle del componente a sintetizar.

5. Uso como formato de intercambio y documentación

Dentro del mismo entorno, la descripción VHDL sirve como medio de intercambio de información a lo largo de todas las etapas del proceso de diseño. Como notación formal, facilita la documentación del mismo. Una vez obtenida la implementación final, la descripción VHDL puede usarse con objeto de especificar las características y prestaciones del producto. En ciertos casos, la documentación y el modelado mediante una notación estándar como VHDL puede incidir en una mayor capacidad de penetración del producto en el mercado.

La aparición de VHDL ha permitido la existencia de bibliotecas de modelos de simulación de componentes comerciales.

En el esquema de desarrollo de sistemas electrónicas propuesto en la figura 2, la existencia de un estándar como VHDL resulta imprescindible a la hora de asegurar el enorme flujo de información involucrado. En este contexto, VHDL va a permitir la especificación del sistema completo y de cada una de sus partes. Tanto en el caso de que éstas sean circuitos comerciales como si son ASICs, VHDL permitirá disponer de modelos de simulación. Este hecho tiene gran importancia porque permite el desarrollo del sistema independientemente del progreso de sus componentes. El proceso de diseño del sistema completo puede continuar porque se dispone de la especificación en VHDL de los distintos componentes. Una vez obtenidos éstos, los modelos iniciales pueden sustituirse por los modelos correspondientes a los componentes implementados, verificando que su inserción en el sistema cumple los requisitos iniciales. De esta forma se reduce significativamente el esfuerzo de integración y el tiempo de desarrollo.

6. Independencia de los suministradores

Como medio estándar de entrada a utilidades de cómputo, VHDL permite que las descripciones y modelos generados en un sitio sean utilizables en cualquier otro independientemente de las

Page 4: vhdl

herramientas de diseño que utilicen. Este hecho independiza al sistemita de sus suministradores: por un lado, de los distribuidores de componentes comerciales, ya que los modelos de simulación van a ser compatibles; por otro, de los centros de diseño, ya que las especificaciones requeridas van a ser aceptadas por cualquiera de ellos; por último, de los vendedores de herramientas, ya que éstas siempre van a utilizar VHDL como entrada.

7. Capacidad de diseño de sistemas complejos

VHDL fue diseñado con una filosofía similar a la de muchos lenguajes de programación actuales en los que las ayudas al diseño estructurado y modular son tan importantes como su capacidad descriptiva, a la hora de facilitar el diseño de sistemas complejos en equipos de trabajo. Existen elementos en el lenguaje concebidos con el objeto de soportar el compartimiento de recursos, la experimentación y el manejo del diseño.

Entre ellos cabe destacar los paquetes que permiten aislar los recursos a utilizar en el diseño de las entidades descriptivas que, ahora, pueden compartirlos. Las configuraciones permiten explorar distintas implementaciones para el mismo diseño. Al mismo tiempo, una misma entidad de diseño puede llevar asociadas arquitecturas diferentes que pueden representar distintas tentativas de implementación o de implementaciones a distinto nivel de detalle o abstracción.

VHDL es un lenguaje orientado a tipos, lo que facilita la representación de cualquier tipo de información. El uso de tipos de datos abstractos, junto con la capacidad de describir algoritmos complejos representados por los procesos, facilita la especificación de sistemas de gran complejidad.

El lenguaje soporta la simplificación de un problema complejo mediante las técnicas de partición y jerarquía. Así, la arquitectura puede describirse en función de bloques, procesos y componentes externos. Los bloques pueden describirse en función de los bloques, procesos y componentes de un nivel de jerarquía inferior, y así sucesivamente. Los procesos pueden estructurarse en procedimientos y funciones.

8. Reutilización

El uso de un lenguaje estándar estable permite la reutilización en diseños futuros de las descripciones y datos generados durante el diseño actual con el consiguiente ahorro de recursos. VHDL facilita la reutilización del diseño gracias a varios factores. Por un lado, la independencia tecnológica comentada anteriormente permite que una descripción VHDL de un circuito o componente determinado, diseñado originalmente para una determinada tecnología (CMOS, bipolar, etc.) y realización (FPGA, ASIC, etc.) puede reutilizarse en un diseño posterior, aunque la tecnología a utilizar sea distinta. Por otro lado, el lenguaje dispone de recursos, como los genéricos, que permiten adaptar la estructura y él comporta-miento de un circuito a las condiciones de utilización.

9. Facilitación de participación en proyectos internacionales

En la actualidad, VHDL constituye el lenguaje estándar de referencia a nivel internacional. Impulsado originalmente por el DoD de los EEUU, cualquier programa lanzado por alguna de sus

Page 5: vhdl

agencias oficiales obliga al uso de VHDL en el modelado de los sistemas y en la documentación del proceso de diseño. Este hecho ha motivado que la gran mayoría de empresas y universidades americanas hayan adoptado el lenguaje.

En Europa, la situación es similar. La mayoría de las grandes empresas del sector han definido VHDL como el lenguaje preferencial en todas las tareas de diseño, modelado, documentación y mantenimiento de sistemas electrónicos. De hecho, el número de usuarios de VHDL en Europa es incluso mayor que en los EEUU. En consecuencia, en la mayoría de los programas relacionados con el diseño electrónico, como ESPRIT, VHDL resulta el lenguaje común en la mayoría de los consorcios. Agencias europeas, como la ESA, obligan al uso de VHDL como notación estándar.

Críticas

VHDL tiene grandes ventajas, tal como se ha expuesto en los apartados anteriores. Sin embargo, no sería justo que no se indicaran también los puntos negativos del lenguaje, algunos de ellos difíciles de evitar, pero otros no tanto.

A. Lenguaje de comité

VHDL es, como también lo fue ADA, un lenguaje diseñado por un comité. Es bien sabido que estos lenguajes definidos por consenso muchas veces pecan de demasiado complejos, precisamente para dar gusto a las diversas opiniones de los miembros del comité. Quizás sean más 'elegantes' otros lenguajes con un núcleo sencillo al que se han añadido diversas extensiones, pero esto es algo opinable. En cualquier caso, este defecto de VHDL incluso se ha acentuado en su revisión de 1993, resultando ahora un lenguaje, aunque mejorado en muchos aspectos, todavía más difícil de aprender para un novato.

B. Lenguaje de simulación

VHDL está basado en los conceptos de simulación discreta dirigida por eventos [Olc95]. Por ello, los modelos expresados en este lenguaje son muy fáciles de simular. Este era el propósito inicial del lenguaje además del de documentación. Posteriormente se está utilizando cada vez más para otros propósitos, especialmente el de síntesis. Sin embargo, algunas de las primitivas del lenguaje son difíciles de sintetizar o no tienen una correspondencia clara con el hardware. Por eso, los vendedores de herramientas de síntesis han definido subconjuntos para sus sintetizadores. Distintos sintetizadores admiten distintos subconjuntos y por ello se pierde en gran medida la ventaja de lenguaje estandarizado. Estas herramientas permiten un aumento importante en la productividad del proceso de diseño y, en consecuencia, abordar diseños con la complejidad que actualmente soporta la tecnología.

El problema que se plantea es la no portabilidad de las descripciones VHDL entre diseñadores que utilizan herramientas distintas, de manera que un diseño descrito para una herramienta determinada no puede transferirse a una herramienta distinta sin un proceso manual de traducción que, en el caso de diseño complejos, puede requerir un esfuerzo importante y, en algunos casos, inabordable.

Page 6: vhdl

La actividad de estandarización internacional destinada a solventar estos problemas está dirigida por el 'IEEE Synthesis Package Working Group'. En coordinación con este grupo, el 'European VHDL Synthesis Working Group' (EVSWG) tiene como objetivo aglutinar y coordinar la contribución técnica europea al proceso de estandarización de VHDL en síntesis. El principal resultado a lograr es la portabilidad de las descripciones de síntesis y la solución, por tanto, de todos los problemas descritos anteriormente [VBDFMLJ94].

C. Ausencia de semántica formal

VHDL es, como la mayoría de los lenguajes, un lenguaje que fue diseñado sin darle una semántica formal. Se entiende por semántica formal de un lenguaje la definición de sus construcciones por medios matemáticamente precisos. El significado del lenguaje queda por tanto referido a conceptos matemáticos.

Actualmente no existe ninguna semántica formal estándar para el lenguaje. Si bien su sintaxis está formalmente definida por medio de una gramática, no lo está la semántica, para la cual sólo existe una descripción verbal en el Manual de Referencia. Los distintos simuladores proporcionan una implementación concreta, pero aún hay difieren, si bien muy ligeramente, los distintos simuladores.

En la actualidad existen varias aproximaciones para dotar a

VHDL de una semántica formal [DeBr95].

Actividad actual en torno a VHDL

La actividad que se ha generado en torno a VHDL es muy intensa. En muchos países, entre ellos en España, se han creado grupos de trabajo en torno a VHDL. Se realizan reuniones periódicas con presentación de trabajos tanto en Estados Unidos (VIUF, VHDL International User‘s Fórum) como en Europa (VHDL Forum for CAD in Europe), así como el congreso Euro VHDL que se celebra una vez al año.

Todas las empresas que se dedican a la microelectrónica han ido paulatinamente adaptándose a VHDL. Incluso en Japón tiene una creciente aceptación, a pesar de que tienen su propio lenguaje estándar UDL/I. Siemens ha creado un 'VHDL Center'. En resumen, el lenguaje está teniendo un impacto muy importante.

E proceso de estandarización alrededor de VHDL no se detuvo con la primera versión del lenguaje (VHDL‘87). Ha continuado con la nueva versión (VHDL‘93) así como con sucesivas adiciones, mejoras y metodologías de uso. Entre ellas las más importantes son: la extensión analógica (1076.1) que permitirá la utilización de un único lenguaje en todas las tareas de especificación, simulación y síntesis de sistemas electrónicos tanto digitales como analógicos y mixtos; el paquete matemático (1076.2); el paquete de síntesis (1076.3) ya comentado; VITAL (1076.4) orientada a la definición de modelos de librería estándar; el grupo de trabajo en test; la extensión a la especificación a nivel sistema, etc. Otros lenguajes estándar, como MHDL orientado a la descripción de circuitos de microondas, tienen relación con VHDL.

Page 7: vhdl

La participación europea en el esfuerzo internacional de estandarización se canaliza a través del proyecto ESPRIT 8370 ESIP. Liderado por SIEMENS-NIXDORF, en el proyecto participan prácticamente todas las grandes compañías europeas del sector (ANACAD, BULL, ICL, PHILIPS, ZUKEN-REDAC, SYNTHESIA, TGI y THOMSON-CSF) además de varias universidades y centros de investigación como contratistas asociados.

La participación española en este proyecto está constituida por TGI, la Universidad Politécnica de Madrid (UPM) y la Universidad de Cantabria (UC) en los temas de síntesis (UC) y test (TGI, UPM y UC).

WEBGRAFÍA

http://ayudaelectronica.com/que-es-vhdl/

http://es.wikipedia.org/wiki/VHDL

http://es.wikibooks.org/wiki/Programaci%C3%B3n_en_VHDL/Elementos_b%C3%A1sicos_del_lenguaje

http://www.ati.es/novatica/1994/nov-feb/n112vhdl.html