Что такое VHDL
VHDL — язык описания аппаратуры (Hardware Description Language) для проектирования цифровых схем в ПЛИС и заказных микросхемах (ASIC). В отличие от языков программирования, VHDL описывает не последовательность команд, а структуру и поведение аппаратуры, которая работает параллельно. Обзорную страницу по языку см. в разделе VHDL; альтернатива — Verilog.
Entity и architecture
Описание модуля состоит из двух частей: entity (интерфейс — входы и выходы) и architecture (внутренняя реализация).
entity and_gate is
port( a, b : in std_logic;
y : out std_logic );
end entity;
architecture rtl of and_gate is
begin
y <= a and b; -- параллельное присваивание
end architecture;
Параллелизм — главное отличие
Ключевая идея: операторы в architecture выполняются параллельно, а не сверху вниз, потому что описывают реальные логические цепи, работающие одновременно. Последовательное исполнение возможно только внутри процесса (process), который сам по себе — один параллельный блок. Это принципиально отличает VHDL от обычного программирования и требует «мыслить схемой».
Типы данных
VHDL строго типизирован. Основные типы: std_logic (бит с состояниями 0/1/Z/X…), std_logic_vector (шина), а также целые и перечислимые типы для описания автоматов. Строгая типизация ловит ошибки на этапе компиляции.
Синтез и симуляция
С VHDL связаны два процесса: симуляция (проверка поведения на тестовом окружении, testbench) и синтез (преобразование кода в реальную логику ПЛИС). Важно: не всякий корректный для симуляции код синтезируется — существует синтезируемое подмножество языка. Хороший стиль — описывать регистры и автоматы шаблонно, чтобы синтезатор построил ожидаемую схему.
Частые вопросы
VHDL — это язык программирования?
Нет, это язык описания аппаратуры. Он описывает параллельно работающие цифровые цепи, а не последовательность команд процессора. Поэтому мышление здесь «схемное», а не алгоритмическое.
VHDL или Verilog?
Оба решают одну задачу. VHDL строже типизирован и многословнее (популярен в Европе, авиакосмосе), Verilog лаконичнее и ближе к C (популярен в США, микроэлектронике). Выбор чаще определяется средой и традицией команды.
Итоги
VHDL описывает цифровую аппаратуру через интерфейс (entity) и реализацию (architecture), где всё работает параллельно, а последовательность возможна лишь внутри процессов. Строгая типизация и разделение на синтез и симуляцию делают язык надёжным инструментом проектирования ПЛИС. Главное — мыслить схемой, а не программой.
Смотрите также: VHDL (обзор) · Verilog · ПЛИС: FPGA и CPLD · Цифровая логика.