Lenguaje de descripción de hardware

 Sánchez Cruz Brandon

¿Qué es?

 Un lenguaje de descripción de hardware (HDL, hardware description language) es un lenguaje de programación especializado que se utiliza para definir la estructura, diseño y operación de circuitos electrónicos, y más comúnmente, de circuitos electrónicos digitales, como el convertidor analógico-digital o cualquier antena satelital. Así, los lenguajes de descripción de hardware hacen posible una descripción formal de un circuito electrónico, y posibilitan su análisis automático y su simulación.

Los lenguajes de descripción de hardware se parecen mucho a otros lenguajes de programación de ordenadores tales como el C o Java: básicamente consisten en una descripción textual con expresiones, declaraciones y estructuras de control. Sin embargo, una importante diferencia entre los HDL y otros lenguajes de programación está en que el HDL incluye explícitamente la noción de tiempo.


Estructura de los HDL

Los HDL utilizan expresiones estándar basadas en texto que reflejan la estructura de los circuitos electrónicos, si se viera dentro de una tarjeta, se podrían observar más de un millón de compuertas a disposición del programador. Al igual que los lenguajes de programación concurrentes, la sintaxis y semántica de los HDL incluyen notaciones específicas para la concurrencia. Sin embargo, al contrario de lo que ocurre con la mayoría de los lenguajes de programación, los HDL incluyen también una notación específica para el tiempo, debido a que este es una característica fundamental en los circuitos electrónicos reales. Los lenguajes cuyo único propósito es expresar la conectividad entre una jerarquía de bloques son más bien clasificados como "lenguajes de listas de conexiones" (o lenguajes "netlist"), tales como los que se usan en los programas de diseño asistido por ordenador (CAD). Los HDL son algo más rico que estos lenguajes de listas de conexiones, ya que no sólo permiten definir la estructura de un circuito, sino también su comportamiento.


Así, los HDL pueden ser usados para escribir especificaciones "ejecutables" de hardware. Es decir, un programa escrito en HDL hace posible que el diseñador de hardware pueda modelar y simular un componente electrónico antes de que este sea construido físicamente. Es esta posibilidad de "ejecución" de componentes lo que hace que a veces los HDL se vean como lenguajes de programación convencionales, cuando en realidad se debería clasificarlos más precisamente como lenguajes de modelado.


En la práctica existen distintos tipos de simuladores capaces de trabajar tanto con eventos discretos (digitales) como continuos (analógicos), existiendo lenguajes HDL específicos para cada caso.

Pero desde el punto de vista práctico, una gran ventaja de los HDL está en que, utilizando un programa llamado "sintetizador" es posible inferir, a partir de la expresión textual del programa, el conjunto de operaciones lógicas y el circuito equivalente necesarios para realizar la función del programa. Esto permite saltar desde el ámbito de la simulación software al de la implementación real del hardware sobre circuitos lógicos reales tales como los ASIC o las FPGA.


Bibliografía

Colaboradores de los proyectos Wikimedia. (2004, 23 de agosto). Lenguaje de descripción de hardware - Wikipedia, la enciclopedia libre. Wikipedia, la enciclopedia libre. https://es.wikipedia.org/wiki/Lenguaje_de_descripción_de_hardware


Comentarios

Entradas populares de este blog

ARREGLO LOGICO GENERICO (GAL)

Función "rising_edge" para VHDL

¿Qué es un microprocesador o MPU?