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 также поддерживает объектно-ориентированное программирование, что означает, что типы могут быть определены как расширения других типов с дополнительными полями и методами.