VHDL (Very high-speed integrated circuits Hardware Design Language) — язык моделирования дискретных электронных устройств, утвержденный в качестве международного стандарта IEEE 1076 в 1987 г.. Основная версия языка IEEE 1076 VHDL предназначена для моделирования дискретных устройств преимущественно на уровнях вентильном, уровне регистровых передач и корпусов микросхем. Язык VHDL успешно используется и при синтезе устройств.
В дальнейшем стандарт корректировался и расширялся, новые версии приняты в 1993 и 1999 г.г. Так, версия 1999 г., получившая индекс IEEE 1076.1, содержит средства описания аналоговых и смешанных моделей. Эти описания вместе с базовым вариантом языка VHDL образуют язык VHDL-AMS (VHDL — Analog and Mixed Signal).
VHDL — не единственный язык проектирования радиоэлектронной аппаратуры. Так, для проектирования интегральных схем широко применяется Verilog, близкий к C++ язык SystemC, язык описания цепей EDIF, языки проектирования устройств на ПЛИС и др., но для сквозного проектирования на всех требуемых для СБИС уровнях функционального проектирования (выше схемотехнического) наибольшее распространение получили VHDL и Verilog.
В VHDL имеются средства для поведенческих и структурных описаний.
Описание схемы на языке VHDL включает две части.
Первая часть — описание схемы, как компонента некоторой надсистемы, т.е. это прежде всего описание интерфейсов схемы с внешней средой. Вид этой части, называемой сущностью — entity:
entity имя_сущности is
<декларации>
...
end имя_сущности;
Назначение второй части — описание внутренних свойств схемы (структуры или функций), она называется архитектурным телом:
architecture имя_ахитектурного_тела of имя_сущности is
<декларации>
...
begin
описание_схемы_или_алгоритма
end имя_архитектурного_тела;
У одной схемы (сущности) может быть несколько архитектурных тел, так как могут быть описаны разные аспекты (структура или алгоритмы) и версии объекта, причем на разных иерархических уровнях.
В декларациях архитектурного тела объявляются типы, фигурирующие в данном архитектурном теле. Ими могут быть используемые типы компонентов (объекты), параметры и сигналы. В декларации могут входить также описания процедур, функций, типов данных.
Различают структурное и поведенческое описание сущностей. Структурные описания служат для представления структурных схем, а поведенческие описания служат для представления функций и алгоритмов, выполняемых устройством.