Hardware Description Language
A hardware description language (HDL) is a specialized programming language used to define the structure of, design and operation of electronic circuits, and more commonly, of digital electronic circuits, such as the analog-digital converter or any satellite antenna. Thus, hardware description languages make possible a formal description of an electronic circuit, and enable its automatic analysis and simulation.
Hardware description languages are very similar to other computer programming languages such as C or Java: they basically consist of a textual description with expressions, declarations, and control structures. However, an important difference between HDL and other programming languages is that HDL explicitly includes the notion of time.
Origins
Due to the increasing complexity of digital electronic circuits since the 1970s, circuit designers needed high-level descriptions of digital logic that were not tied to a certain electronic technology, such as CMOS or BJT. Thus, HDLs were created to make it possible to design circuits with a high level of abstraction, and with the possibility of including characteristics of electronic circuits in the models, such as data flows and their variation over time.
HDL structure
HDLs use standard text-based expressions that reflect the structure of electronic circuitry, if viewed inside a card, you could see over a million gates available to the programmer. Like concurrent programming languages, HDL syntax and semantics include specific notations for concurrency. However, contrary to what happens with most programming languages, HDL also includes a specific notation for time, because this is a fundamental feature in real electronic circuits. Languages whose sole purpose is to express connectivity between a hierarchy of blocks are more properly classified as "network-listing languages" (or "netlist" languages), such as those used in computer-aided design (CAD) programs. HDLs are somewhat richer than these netlisting languages, since they not only allow you to define the structure of a circuit, but also its behavior.
Thus, HDLs can be used to write "executable" hardware. That is, a program written in HDL makes it possible for the hardware designer to model and simulate an electronic component before it is physically built. It is this possibility of "execution" of components which sometimes makes HDLs look like conventional programming languages, when in fact they should be more accurately classified as modeling languages.
In practice, there are different types of simulators capable of working with both discrete (digital) and continuous (analog) events, with specific HDL languages for each case.
But from a practical point of view, a great advantage of HDL is that, using a program called a "synthesizer" it is possible to infer, from the textual expression of the program, the set of logical operations and the equivalent circuit necessary to carry out the function of the program. This makes it possible to jump from the realm of software simulation to that of real hardware implementation on real logic circuits such as ASICs or FPGAs.
Languages
- VHDL
- Verilog
- ABEL HDL
- Other HDL languages owners
Contenido relacionado
Waveform Audio Format
ICab
Graphic projection