This is the source distribution repository for verilog-mode, the Verilog editing and AUTOs package which is part of GNU Emacs (lisp/progmodes/verilog-mode.el).
Verilog-Mode supports syntax highlighting of SystemVerilog (IEEE 1800-2017), Verilog (IEEE 1364-2005), and the Universal Verification Modeling language (UVM). Verilog-Mode also has AUTOs which greatly accelerate maintaining interconnect, resets, and other boiler-plate code.
See https://www.veripool.org/verilog-mode for more information.
You have several installation options
The source tree including tests is available at https://github.com/veripool/verilog-mode. If using this distribution you will need to "make" then install e/verilog-mode.el, not the verilog-mode.el in the top of the directory (which does not have the version number in it). In detail:
git checkout https://github.com/veripool/verilog-mode make # Copy to somewhere in your Emacs "M-x describe-variable load-path" cp e/verilog-mode.el* /usr/share/emacs/site-lisp
Verilog Mode is part of the ELPA (Emacs Lisp Package Archive). Using a recent version of Emacs:
M-x list-packages RET
then search for Verilog Mode:
C-s verilog-mode RET RET
then click on "Install".
The main purpose of this repository is the extended test suite. (Verilog-mode.el itself being both here and in the GNU Emacs repository.)
To run the tests, make sure both GNU Emacs and Xemacs are installed, then:
make make test
Under the hood this is (mostly) running 0test.el
. This reads in each
file under tests/
directory, AUTOs, reindents, and compares the result to
the matching filename in the tests_ok
directory.
Test failures generally look like this:
diff -c tests_ok/autoinout_ma.v e/t/autoinout_ma.v ***Golden Reference File ---Generated Test File --- GOLDEN_REFERENCE +++ CURRENT_BEHAVIOR ... - output sina, + output siuna, To promote current to golden, in shell buffer hit newline anywhere in next line (^P RETURN): cp e/t/autoinout_ma.v tests_ok/autoinout_ma.v; VERILOG_MODE_START_FILE=tests_ok/autoinout_ma.v make test_emacs
This indicates the generated output doesn’t match what is in tests_ok. To
fix this make sure that the change is expected then do the cp
shown to
update the golden references:
cp e/t/autoinout_ma.v tests_ok/autoinout_ma.v
Then make test
again. The output also suggests a
VERILOG_MODE_START_FILE
which can also be used to jump right to that
individual test inside the make test
.
Verilog-mode itself is part of GNU Emacs, which is Copyright © 2001-2020 Free Software Foundation, Inc. This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License Version 3.
The Verilog test files unless specified otherwise are released into the public domain.