Menu

Как установить Icarus Verilog на Windows, macOS и Linux (гид 2026)

Установка Icarus Verilog и GTKWave, чтобы компилировать и симулировать Verilog локально. Или пропусти установку и используй редактор в браузере - для этих документов работает и то, и то.

Сначала - отрезвляющая мысль

Чтобы учить Verilog, устанавливать ничего не нужно. Каждый интерактивный редактор в этих документах прогоняет реальный Verilog через Icarus Verilog в песочнице, включая waveform viewer. Если ты здесь, чтобы выучить язык, пропусти эту страницу и возвращайся, когда захочешь работать над более длинным проектом локально.

Всё ещё хочешь установить локально? Читай дальше.

Что на самом деле значит "установить Verilog"

Verilog - это язык, не программа. Чтобы его запускать, нужно:

  1. Симулятор - инструмент, который компилирует твои .v файлы и запускает их. Для большинства учащихся это Icarus Verilog, который даёт компилятор iverilog и runtime vvp.
  2. Просмотрщик waveform - обычно GTKWave - который читает .vcd файлы, которые производит твой testbench.
  3. Текстовый редактор - VS Code с расширением для Verilog - стандартный выбор, но подойдёт что угодно.

Вендорские тулчейны (Xilinx Vivado, Intel Quartus, Synopsys VCS, Cadence Xcelium) существуют для программирования FPGA и работы с ASIC. Они большие, часто лицензированные и избыточные для обучения. Сиди на Icarus.

Установка на macOS

Самый быстрый путь - Homebrew:

brew install icarus-verilog gtkwave

Это ставит и компилятор, и waveform viewer. Проверь:

iverilog -V
gtkwave --version

Должны увидеть номера версий от обоих. iverilog сам прописывается в PATH. GTKWave ставит и app bundle в /Applications, и команду gtkwave в терминале.

Если Homebrew не установлен, сначала следуй инструкциям на brew.sh - это одна curl-команда - потом возвращайся.

Установка на Linux

На Debian-подобных дистрибутивах (Ubuntu, Mint, Pop!_OS):

sudo apt update
sudo apt install iverilog gtkwave

На Fedora / RHEL:

sudo dnf install iverilog gtkwave

На Arch:

sudo pacman -S iverilog gtkwave

Затем проверь так же:

iverilog -V
gtkwave --version

Версия из пакетов иногда отстаёт от апстрима на релиз. Для большинства учебных задач этого хватает. Если нужна более новая версия - собирай из исходников: репозиторий проекта на GitHub содержит инструкции, и это ./configure && make && sudo make install.

Установка на Windows

Самый простой путь - прекомпилированный инсталлятор от сообщества iverilog на bleyer.org (ищи "iverilog Windows"). В нём упакованы Icarus Verilog, GTKWave и тулчейн GCC, который Icarus использует внутри.

  1. Скачай последнюю версию инсталлятора (обычно iverilog-vXX-setup.exe).
  2. Запусти. Соглашайся на дефолты, если нет причин делать иначе.
  3. Когда инсталлятор спросит - оставь галку "Add to PATH".
  4. Открой новое окно PowerShell или Command Prompt и проверь:
iverilog -V
gtkwave --version

Если забыл добавить в PATH, бинарник лежит примерно по адресу C:\iverilog\bin\iverilog.exe. Либо добавь C:\iverilog\bin в пользовательский PATH через System Properties, либо перезапусти инсталлятор и поставь галку.

WSL2 - тоже хороший вариант на Windows. Установи Ubuntu из Microsoft Store и следуй инструкциям для Linux внутри неё. Будет более привычный Unix-подобный workflow.

Компиляция и запуск первого файла

После установки workflow выглядит так. Сохрани файл как hello.v:

module hello;
    initial begin
        $display("hello from verilog");
        $finish;
    end
endmodule

Скомпилируй его в симуляционный бинарник:

iverilog -o hello hello.v

iverilog - компилятор. -o hello задаёт имя выходного файла. hello.v - твой исходник.

Запусти симуляцию:

vvp hello

Должен увидеть:

hello from verilog

Это весь локальный цикл. Отсюда можно делить проект на несколько файлов (iverilog -o sim *.v), использовать флаг -g2012, чтобы включить фичи SystemVerilog-2012, или гнать вывод в свои скрипты.

Получение и просмотр waveform

Добавь $dumpfile и $dumpvars в свой testbench, запусти его и открой получившийся VCD в GTKWave:

initial begin
    $dumpfile("dump.vcd");
    $dumpvars(0, test);
    // ...
end

После того как vvp sim отработает, рядом с исходником будет dump.vcd. Открой его:

gtkwave dump.vcd

GTKWave загрузит файл и покажет дерево сигналов слева. Перетаскивай нужные сигналы в область wave справа. Подробно разбираем это в Dumpfile and VCD.

Типичные ошибки

iverilog: command not found - бинарник не в PATH. На Windows это обычно значит, что инсталлятор не отметил галку обновления PATH. На macOS/Linux обычно значит, что Homebrew/apt не доработал, или ты в шелле, который не перечитал PATH (закрой и открой терминал).

syntax error в строке, которая выглядит правильно - проверь, что не используешь фичу SystemVerilog в режиме обычного Verilog. Передай -g2012 в iverilog, чтобы включить SystemVerilog-2012:

iverilog -g2012 -o sim main.v

Unknown module при компиляции - либо файл с этим модулем не передан в iverilog, либо имя в instantiation не совпадает с объявлением module в точности. Verilog регистрозависимый.

Пустой waveform в GTKWave - твой testbench не вызвал $dumpfile и $dumpvars, либо симуляция упала в $finish раньше, чем сигналы успели поменяться. Добавь хотя бы один $dumpvars(0, top) и дай симуляции проработать достаточно долго для переходов.

Что дальше

Что бы ты ни выбрал - локальную установку или браузерный редактор - следующий документ проводит через написание первого полного module с нуля: объявление module, ports, маленький кусок комбинационной логики и testbench вокруг него.

Часто задаваемые вопросы

Как установить Verilog?

Единой программы 'Verilog' не существует - это язык, ты устанавливаешь компилятор/симулятор. Для обучения стандартный выбор - Icarus Verilog (команды iverilog и vvp) в паре с GTKWave для просмотра waveforms. На macOS - brew install icarus-verilog gtkwave; на Debian/Ubuntu - apt install iverilog gtkwave; на Windows - скачай прекомпилированный инсталлятор с сайта Bleyer.

Нужно ли что-то устанавливать, чтобы учить Verilog?

Нет. Редактор на этой странице запускает твой код через iverilog и vvp в облаке и рендерит VCD waveform прямо в браузере. Ты можешь пройти каждый документ из этих туториалов, ничего не устанавливая. Локальная установка пригодится, когда захочется сохранять файлы, держать проект под контролем версий или работать над проектом, который великоват для редактора в браузере.

В чём разница между iverilog и vvp?

iverilog - это компилятор, он превращает твои .v файлы в симуляционный бинарник. vvp - runtime, который этот бинарник исполняет. Типичная последовательность команд: iverilog -o sim main.v test.v, затем vvp sim. Большинство сборочных скриптов оборачивают и то, и другое.

Icarus Verilog бесплатный?

Да. Icarus Verilog - open source под GPL/LGPL. Никакого лицензионного сервера, никакого триала, и он подходит и для учёбы, и для коммерческого использования. Платные альтернативы (ModelSim, VCS, Xcelium) - платные; для всего, что разбирается в этих документах, Icarus хватит.

Как проверить версию iverilog?

Открой терминал и запусти iverilog -V. Должен увидеть номер версии вроде Icarus Verilog version 12.0. Если выпадает 'command not found', бинарник не в PATH - перезапусти установщик или добавь bin-каталог в конфиг своего шелла.

Coddy programming languages illustration

Учитесь программировать с Coddy

НАЧАТЬ