VHDL — это язык программирования, который используется для описания поведения и структуры цифровых схем, таких как логические элементы, триггеры, регистры, мультиплексоры, сумматоры и т. д. VHDL означает язык описания оборудования VHSIC, где VHSIC означает сверхвысокоскоростную интегральную схему. VHDL был разработан в 1980-х годах консорциумом компаний и организаций при поддержке Министерства обороны США с целью создания стандартного языка для проектирования и документирования цифровых систем. Позже VHDL был стандартизирован Институтом инженеров по электротехнике и электронике (IEEE) как IEEE Std 1076; последняя версия — IEEE Std 1076–2019.

Синтаксис VHDL основан на языке программирования Ada, также созданном Министерством обороны США. VHDL использует ключевые слова вместо символов для большинства операторов и знаков препинания. Например, ключевое слово and выполняет логическое соединение, ключевое слово then разделяет условие и следствие оператора if, а ключевое слово end завершает блок кода. VHDL также использует точечную нотацию для импорта модулей и назначения сигналов. Например, выражение Math.Sin(x) вызывает функцию Sin из модуля Math с аргументом x, а выражение a <= b присваивает значение b сигналу a. VHDL также использует обозначение «двоеточие-равно» для присвоения переменных. Например, выражение x := y присваивает значение y переменной x.

VHDL имеет статическую систему типов, что означает, что сигналы и переменные имеют типы, которые проверяются во время компиляции. VHDL также поддерживает модульное программирование, что означает, что код может быть организован в отдельные блоки, называемые объектами и архитектурами, которые могут импортировать и экспортировать определения сигналов, констант, типов и подпрограмм. VHDL также поддерживает параллельное программирование, что означает, что операторы могут выполняться параллельно или последовательно в зависимости от их порядка и зависимостей. VHDL также поддерживает общее программирование, что означает, что объекты и подпрограммы могут быть параметризованы типами, значениями или выражениями, которые указаны во время создания экземпляра. VHDL также поддерживает объектно-ориентированное программирование, что означает, что типы могут быть определены как расширения других типов с дополнительными полями и методами.