AFON // радиотехник affonya@mail.ru
← Радиотехника

Verilog

Компактный C-подобный язык описания аппаратуры: module и порты, непрерывное присваивание и блоки always, типы wire и reg — принципы и отличия от VHDL.

Что такое Verilog

Verilog — язык описания аппаратуры, наряду с VHDL один из двух основных для проектирования ПЛИС и микросхем. Его синтаксис ближе к языку C, он лаконичнее VHDL и очень популярен в микроэлектронике. Как и VHDL, Verilog описывает параллельно работающие цифровые цепи, а не последовательный алгоритм.

Модуль

Базовая единица — module с портами; внутри описывают логику.

module and_gate(
  input  a, b,
  output y
);
  assign y = a & b;   // непрерывное присваивание
endmodule

assign, always, регистры

Комбинационную логику задают непрерывным присваиванием assign. Более сложное поведение (регистры, автоматы) описывают в блоках always, срабатывающих по списку чувствительности или фронту тактового сигнала:

always @(posedge clk) begin
  q <= d;            // D-триггер по фронту clk
end

Различают типы wire (соединение, для assign) и reg (хранит значение, присваивается в always).

Verilog против VHDL

VerilogVHDL
Синтаксискраткий, как Cподробный, строгий
Типизацияслабеестрогая
Где популяренмикроэлектроника, СШАавиакосмос, Европа

Существует и SystemVerilog — расширение Verilog с богатыми средствами верификации.

Частые вопросы

Что учить — Verilog или VHDL?

Оба востребованы и решают одну задачу; принципы (параллелизм, синтезируемое подмножество, автоматы) общие. Verilog короче и ближе к C, VHDL строже. Начните с того, что принято в вашей среде проектирования или у работодателя.

В чём разница wire и reg?

wire — соединение, значение которого задаётся непрерывно (assign). reg — переменная, хранящая значение и присваиваемая внутри always. Несмотря на имя, reg не всегда регистр — это зависит от описания.

Итоги

Verilog — компактный C-подобный язык описания аппаратуры: логика задаётся через assign и блоки always, а wire и reg описывают соединения и хранимые значения. Как и VHDL, он моделирует параллельную работу цифровых схем. Выбор между ними определяется средой и задачами.

Смотрите также: VHDL · ПЛИС: FPGA и CPLD · ПЛИС (обзор) · Цифровая логика.