¿Qué es un lenguaje de descripción de hardware (HDL)?

Tiempo de lectura: < 1 minuto

Los circuitos digitales consisten principalmente en transistores interconectados. Diseñamos y analizamos estos circuitos con la ayuda de una estructura jerárquica: podríamos, en teoría, interpretar una unidad central de procesamiento (CPU) como un vasto mar de transistores, pero es mucho más fácil organizar los transistores en puertas lógicas, puertas lógicas en sumadores o registros o módulos de temporización, registros en bancos de memoria, etc.

Lenguaje de descripción de hardware

Esta estructura jerárquica nos permite representar efectivamente un circuito digital por medio de diagramas interconectados. A esto lo llamamos un esquema. Este enfoque visual para describir un circuito digital es intuitivo, pero resulta poco práctico a medida que aumenta la complejidad. Otra forma de describir los circuitos digitales es usar un lenguaje textual que esté específicamente destinado a capturar de manera clara y concisa las características definitorias del diseño digital.
Tales lenguajes existen y se denominan lenguajes de descripción de hardware (HDL).

¿Qué hace el lenguaje HDL?

Los lenguajes de descripción de hardware más populares son Verilog y VHDL. Se usan ampliamente junto con FPGA, que son dispositivos digitales diseñados específicamente para facilitar la creación de circuitos digitales personalizados.
Los lenguajes de descripción de hardware le permiten describir un circuito usando palabras y símbolos, y luego el software de desarrollo puede convertir esa descripción textual en datos de configuración que se cargan en el FPGA para implementar la funcionalidad deseada.

Un ejemplo de código HDL

Aquí hay un ejemplo de código HDL:

1 entidad Circuit_1 es
2 puertos (a: en STD_LOGIC;
3 b: en STD_LOGIC;
4 out1: fuera STD_LOGIC);
5 final Circuito_1;
————————————————– —
6 arquitectura El comportamiento del circuito_1 es
8 comienzan
9 out1 <= (ayb);
10 finales de comportamiento;

Lenguajes de programación vs. Lenguajes de descripción de hardware

Muchas personas ya están familiarizadas con los lenguajes de programación cuando comienzan a aprender sobre lenguajes de descripción de hardware. Las HDL se parecen a lenguajes de programación de alto nivel como C o Python, pero es importante comprender que hay una diferencia fundamental: las declaraciones en el código HDL implican operaciones paralelas, mientras que los lenguajes de programación representan operaciones secuenciales.
Cuando escribimos un programa de computadora o un módulo de firmware, entendemos que el procesador ejecutará líneas de código de una en una, siguiendo la organización de arriba hacia abajo que usamos al leer el texto en una página.
En el código HDL, estamos describiendo hardware digital, y porciones separadas de este hardware pueden operar simultáneamente, a pesar del hecho de que las líneas de código correspondientes se escriben usando una organización de arriba a abajo.