Git Product home page Git Product logo

meggiman / verilog-mode Goto Github PK

View Code? Open in Web Editor NEW

This project forked from veripool/verilog-mode

0.0 2.0 0.0 2.87 MB

Verilog-Mode for Emacs with Indentation, Hightlighting and AUTOs. Master repository for pushing to GNU, verilog.com and veripool.org.

Home Page: http://veripool.org/verilog-mode

License: GNU General Public License v3.0

Emacs Lisp 41.87% Makefile 0.35% Perl 0.67% SystemVerilog 57.11% Forth 0.01%

verilog-mode's Introduction

license GPLv3 Build Status (Travis CI)

SUMMARY

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.

Example

DOCUMENTATION

See https://www.veripool.org/verilog-mode for more information.

INSTALLATION

You have several installation options

Option 1: Sources

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

Option 2: ELPA

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".

Option 3: Emacs Native

Verilog-mode.el also comes included as part of Emacs 21 and later. This version always lags the version here, often by years. Please consider using the sources method instead.

TESTS

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.

LICENSE

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.

verilog-mode's People

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.