 in electronics, a hardware description language (hdl) is a specialized computer language used to program the structure, design and operation of electronic circuits, and most commonly, digital logic circuits. a hardware description language enables a precise, formal description of an electronic circuit that allows for the automated analysis, simulation, and simulated testing of an electronic circuit. it also allows for the compilation of an hdl program into a lower level specification of physical electronic components, such as the set of masks used to create an integrated circuit. a hardware description language looks much like a programming language such as c; it is a textual description consisting of expressions, statements and control structures. one important difference between most programming languages and hdls is that hdls explicitly include the notion of time. hdls form an integral part of electronic design automation (eda) systems, especially for complex circuits, such as microprocessors. ==motivation== due to the exploding complexity of digital electronic circuits since the 1970s (see moore's law), circuit designers needed digital logic descriptions to be performed at a high level without being tied to a specific electronic technology, such as cmos or bjt. hdls were created to implement register-transfer level abstraction, a model of the data flow and timing of a circuit. ==structure of hdl== hdls are standard text-based expressions of the structure of electronic systems and their behaviour over time. like concurrent programming languages, hdl syntax and semantics include explicit notations for expressing concurrency. however, in contrast to most software programming languages, hdls also include an explicit notion of time, which is a primary attribute of hardware. languages whose only characteristic is to express circuit connectivity between a hierarchy of blocks are properly classified as netlist languages used in electric computer-aided design (cad). hdl can be used to express designs in structural, behavioral or register-transfer-level architectures for the same circuit functionality; in the latter two cases the synthesizer decides the architecture and logic gate layout. hdls are used to write executable specifications for hardware. a program designed to implement the underlying semantics of the language statements and simulate the progress of time provides the hardware designer with the ability to model a piece of hardware before it is created physically. it is this exec
Hardware_description_languages Logic_design Programming_language_classification Technical_communication