VHDL (Very High Speed Integrated Circuit Hardware Description Language) is a hardware description language used to model, simulate, and synthesize digital circuits. It enables designers to describe digital hardware before implementing it on platforms such as FPGAs and ASICs.
- Supports multiple modeling styles to describe the structure and behavior of digital systems.
- Provides a reliable framework for hardware design, simulation, and verification before fabrication.

Basic Structure of a VHDL Program
Every VHDL design consists of two main parts: Entity and Architecture. The entity defines the interface of the design, while the architecture describes how the design behaves or is implemented.
Entity
An entity defines the external interface of a VHDL design by specifying its name, input ports, and output ports.
Syntax
entity entity_name is
Port (
input1 : in std_logic;
output1 : out std_logic
);
end entity_name;
| Keyword | Description |
|---|---|
entity | Declares the design entity. |
Port | Defines the input and output ports. |
in | Specifies an input port. |
out | Specifies an output port. |
end | Marks the end of the entity declaration. |
Architecture
An architecture describes the internal behavior or implementation of an entity using VHDL statements.
Syntax
architecture Behavioral of entity_name is
begin
-- VHDL statements
end Behavioral;
| Keyword | Description |
|---|---|
architecture | Defines the implementation of an entity. |
begin | Marks the start of the executable statements. |
end | Marks the end of the architecture. |
Modeling Styles in VHDL
VHDL supports different modeling styles to describe digital circuits at various levels of abstraction. Depending on the design requirements, a circuit can be modeled using one of the following approaches.
- Dataflow Modeling: Represents the flow of data between inputs and outputs using concurrent signal assignment statements. It is commonly used for combinational logic.
- Behavioral Modeling: Defines the functionality of a circuit using sequential statements inside a process block. It focuses on what the circuit should do rather than how it is implemented.
- Structural Modeling: Builds a circuit by connecting multiple components to form a complete design. It represents the hardware structure of the circuit.
Data Types in VHDL
VHDL provides different data types to represent and manipulate data in digital circuits. These data types are broadly classified into two categories.
| Category | Data Types |
|---|---|
| Scalar Data Types | Integer, Real, Enumerated, Physical |
| Composite Data Types | Array, Record |
VHDL Objects
VHDL objects are used to store and transfer data during hardware design. The three primary VHDL objects are:
| Object | Description |
|---|---|
| Signal | Represents communication between hardware components. |
| Variable | Stores temporary values inside a process. |
| Constant | Represents a fixed value that cannot be modified during execution. |
Operators in VHDL
VHDL provides a variety of operators to perform arithmetic, logical, relational, and shift operations while designing digital circuits.
| Operator Category | Operators |
|---|---|
| Arithmetic | +, -, *, /, mod, rem |
| Logical | and, or, not, nand, nor, xor, xnor |
| Relational | =, /=, <, >, <=, >= |
| Shift | sll, srl, sla, sra, rol, ror |
| Concatenation | & |
VHDL vs Verilog
| VHDL | Verilog |
|---|---|
| Based on Ada programming language | C-like syntax |
| Not case-sensitive | Case-sensitive |
| Strongly typed | Weakly typed |
| More verbose and explicit | More concise and compact |
| Steeper for beginners | Easier for beginners |
| Common in Europe and aerospace applications | Widely used in commercial FPGA and ASIC design |
Advantages
- Strong Typing: VHDL's strict type checking helps reduce design errors and improves code reliability.
- Modular Design: Supports hierarchical and reusable designs using entities, architectures, and packages.
- Simulation and Synthesis: Enables verification through simulation before implementing designs on FPGA or ASIC hardware.
Disadvantages
- Verbose Syntax: Requires more code compared to Verilog for the same functionality.
- Steeper Learning Curve: Beginners may find the syntax and language structure more difficult to learn.
- Longer Compilation Time: Large and complex VHDL designs may take longer to compile and simulate.
Applications
- FPGA Design: Used to design and implement digital circuits on FPGA devices.
- ASIC Design: Widely used for developing application-specific integrated circuits (ASICs).
- Digital System Design: Used to model, simulate, and verify processors, controllers, and other digital systems.