Skip to content

Requirements

Gonzalo Larumbe edited this page Feb 19, 2023 · 10 revisions

Verilog-mode

Latest verilog-mode version is required since verilog-ext relies on much of its latest patches to work correctly.

Installing verilog-ext through MELPA or straight will update automatically the version for verilog-mode. However, this will be fetched from gnu archive and might not be the latest one. To make sure you are using the latest:

(straight-use-package 'use-package)
(use-package verilog-mode
  :straight (:repo "veripool/verilog-mode"))
  • Other installation methods: refer to verilog-mode installation options.

Binaries

verilog-ext makes use of several binaries as backend engines to support IDE-like functionality.

List of required binaries:

  • Definitions and references navigation: global, gtags, universal-ctags, python, pygments
  • Jump to parent module: ag, ripgrep
  • Hierarchy extraction: vhier
  • Linting: verilator, iverilog, verible-verilog-lint, slang, svlint, xrun/hal
  • LSP: hdl_checker, svlangserver, verible-verilog-ls, svls, veridian

Packages

These should be handled automatically by straight or package.el. If you want more information about these packages to change customization or extend functionality refer to their respective websites:

  • eglot: language server protocol client, bundled with Emacs 29
  • lsp-mode: language server protocol client
  • ag: frontend for the silversearcher, used to find parent module
  • ripgrep: frontend for ripgrep, used to find parent module
  • hydra: tie related commands into a family of short bindings with a common prefix, used for templates
  • apheleia:
  • yasnippet
  • company
  • flycheck
  • imenu-list
  • outshine
Clone this wiki locally