Offline инструменты
Текстовый редактор для написания кода
Может использоваться любой текстовый редактор. Далее для примера будет использоваться VSCode. Расширение SystemVerilog - Language Support - Visual Studio Marketplace добавит подсветку синтаксиса.
Расширение Verilog-HDL/SystemVerilog/Bluespec SystemVerilog также позволяет добавить подсветку синтаксиса, автодобавление шаблонов частоиспользуемых конструкций языка и пр.
Компилятор+симулятор
Из свободно распространяемых популярным решением является Icarus Verilog. Для Windows его можно скачать по ссылке: Icarus Verilog for Windows bleyer.org. В остальных случаях рекомендуется ознакомиться со следующей инструкцией: Installation Guide | Icarus Verilog. Из командной строки его можно вызывать:
iverilog -help
Icarus Verilog также является и симулятором, что позволяет запускать скрипты тестового окружения для проверки работоспособности.
Компиляция и запуск осуществляется командами в терминале:
iverilog -g2012 -o <outfilename> <scriptfilename> && vvp <outfilename>
Например:
iverilog -g2012 -o testbench.out testbench.sv && vvp testbench.out
В VSCode есть несколько расширений, использующих Icarus Verilog, одним из которых является Verilog HDL - Visual Studio Marketplace. После его установки симуляция запускается через Command Palette (CTRL+SHIFT+P) и выбор "Verilog: Run Verilog HDL Code" на текущем редактируемом файле.
Примечание: строка запуска по умолчанию выглядит как
iverilog -o <outfilename> <scriptfilename> && vvp <outfilename>
Для добавления ключа компиляции -g2012
нужно вправить расширение, для этого нужно перейти в каталог с расширениями VSCode (Windows %USERPROFILE%\.vscode\extensions
, Linux и macOS ~/.vscode/extensions
), найти каталог leafvmaple.verilog-*
, в файле out/command.js
заменить строку
this.COMPILE_COMMANDS = "iverilog -o {fileName}.out {fileName}";
на строку
this.COMPILE_COMMANDS = "iverilog -g2012 -o {fileName}.out {fileName}";
По желанию можно добавить свои ключи компиляции.
Другое расширение для сборки и запуска через пользовательский интерфейс: dglog. Использует ключ -g2012
по умолчанию и складывает собранные файлы в отдельную директорию.
Last updated