Настройка IDE
Команда курса рекомендует для написания кода использовать связку из VS Code с расширением Verilog-HDL/SystemVerilog/Bluespec SystemVerilog и линтерами Icarus Verilog и Verible.
Icarus Verilog и Verible должны быть в PATH при запуске VS Code.
|
Мы верим, что с установкой VS Code и расширения к нему читатель справится самостоятельно. Icarus Verilog можно установить по инструкции. Поэтому в данном разделе сосредоточимся на установке Verible и настройке VS Code.
Установка Verible
Считаем, что все условности про переменную FPGA_TOOLS из раздела Сборка Icarus Verilog выполнены.
|
Verible поставляется как набор статически собранных исполняемых файлов, поэтому для установки достаточно скачать архив с GitHub, распаковать его и сделать исполняемые файлы доступными в PATH
.
Сделать это можно следующими командами:
$ cd $FPGA_TOOLS/repos
$ wget https://github.com/chipsalliance/verible/releases/download/v0.0-3704-g1d393d43/verible-v0.0-3704-g1d393d43-linux-static-x86_64.tar.gz
$ tar -xf verible-v0.0-3704-g1d393d43-linux-static-x86_64.tar.gz
$ cp -r verible-v0.0-3704-g1d393d43/bin ..
Поскольку $FPGA_TOOLS/bin
уже должен присутствовать в PATH
, то при выполнении
$ verible-verilog-ls --version
получим вывод
Verible Verilog Language Server built at v0.0-3704-g1d393d43
commandline: verible-verilog-ls --version
v0.0-3704-g1d393d43
Commit 2024-06-18
Built 2024-06-19T06:50:44Z
Настройка VS Code
Для того, чтобы Icarus Verilog и Verible были доступны из VS Code, они должны находиться в PATH
при его запуске.
Это означает, что открывать VS Code из директории проекта нужно комбинацией команд:
- Для bash
$ export FPGA_TOOLS=~/fpga_tools
$ export PATH=$FPGA_TOOLS/bin:$PATH
$ code .
- Для fish
$ set -x FPGA_TOOLS ~/fpga_tools
$ set -ax PATH $FPGA_TOOLS/bin
$ code .
Далее необходимо включить линтеры.
Для того, чтобы сделать это на уровне проекта необходимо нажать Ctrl+Shift+P, найти опцию Preferences: Open Workspace Settings (JSON)
, нажать Enter и вставить туда следующие строчки:
{
"verilog.formatting.verilogHDL.formatter": "verible-verilog-format",
"verilog.languageServer.veribleVerilogLs.enabled": true,
"verilog.linting.linter": "iverilog"
}
и сохранить файл.
Автоматический экспорт переменных окружения (опционально)
Чтобы каждый раз не прописывать команды экспорта перед запуском VS Code можно использовать инструмент direnv, который исполняет заданные команды при входе в директорию.
Подробно описывать процесс его первоначальной настройки не будем, он достаточно хорошо описан на официальном сайте.
Приведем лишь содержимое файла .envrc
.
export FPGA_TOOLS=~/fpga_tools
PATH_add $FPGA_TOOLS/bin