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.
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).
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.
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;
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.
Los días felices de la PDA y Blackberry han quedado definitivamente atrás, pero el factor…
Tutorial sobre cómo pronosticar usando un modelo autorregresivo en PythonFoto de Aron Visuals en UnsplashForecasting…
Si tienes un iPhone, los AirPods Pro son la opción obvia para escuchar música, ¡aunque…
Ilustración de Alex Castro / The Verge Plus nuevos rumores sobre el quinto Galaxy Fold.…
Se rumorea que los auriculares premium de próxima generación de Apple, los AirPods Max 2,…
El desarrollador Motive Studio y el editor EA han lanzado un nuevo tráiler de la…