#linter-verilog
Atom linter for Verilog, using Icarus Verilog.
#Installation
- Install icarus verilog.
On OSX you can just use brew:
$ brew install icarus-verilog
- Install atom package:
$ apm install linter-verilog
Atom linter for Verilog, using icarus verilog.
Home Page: https://atom.io/packages/linter-verilog
License: MIT License
#linter-verilog
Atom linter for Verilog, using Icarus Verilog.
#Installation
$ brew install icarus-verilog
$ apm install linter-verilog
Let's say I have a directory with several files files in it and my linter lints everything in the directory that's referred to (directly or indirectly from the file I have open (part1.sv).
my_project/audio_and_video_config.v (more than 175 lines)
my_project/part1.sv (172 lines)
If I lint part1.sv, the linter may return a warning from the audio_and_video_config.v file.
%Warning-PINCONNECTEMPTY: my_project/audio_and_video_config.v:175: Cell pin connected by name with empty reference: rising_edge
linter-verilog (an Atom package that makes use of linter) pushes a message with filePath
set to my_project/audio_and_video_config.v and range
corresponding to the offending line (175).
This message causes the linter to crash since part1.sv, the active file has less than 175 lines
"[Linter] Error running Verilog Error: Line number (174) greater than maximum line (171)
at Object.rangeFromLineNumber"
You might want to checkout Verible. It provides a linter which works with SystemVerilog files (as well as basic Verilog).
Linter shows the error always in col 1 and lin 1, in a file G (sometimes C) that does not even exist. When I click on the error, it creates the file ( an empty file G with nothing in it). The same linter works fine for Ubuntu, but not on Windows on three different computers. I have also noticed that it shows the error on the project tab, and not on the file tab.
When I have a module from a one file being instantiated in other file, the linter shows "Unknown module type: " error. Any leads on how to fix this would be highly appreciated!
1.35.1
Running on Arch Linux
I will add more info later
Hi, I've installed the verilog linter using the package market directly from atom and had iverilog installed directly from the website. I'm not seeing any warnings/errors pop up when I edit my .vl file. Does this package rely on anything else besides the base linter?
Hi @manucorporat , The linter-verilog on my Mac could only distinguish "syntax error" without indicating what it is that cause the error as your screenshot on the setting page of linter-verilog.
I could not find anything such as your verilog - plus. How did you make it?
I'm currently use OSX 10.12 and install it from brew. Thanks a lot.
As not everybody has every package in their system installed on their search path, having an option to specify an explicit path for the iverilog executable would be useful.
Hi there and thx for your plugin,
Is it possible to add verilator as a replacement for icarus?
Verilator is a verilog to C++ converter that includes a linter mode.
It is in active development and has very good support for modern verilog/systemverilog syntax.
The idea is to replace icarus by "verilator --lint-only"
The Error/warning format returned by the linter a little different.
The linter is already used with the syntastic vim plugin (https://github.com/scrooloose/syntastic).
Verilator is a standard package in major Linux distributions and I think through brew for osx. Its source is available on line (http://www.veripool.org/projects/verilator/wiki/Installing).
Regards
Hello,
I am following https://tinyfpga.com/bx/guide.html and I am getting [Linter] Error running Verilog.
Developer console shows
/home/why/.atom/pack…ter-registry.js:159 [Linter] Error running Verilog Error: spawn /home/why/.apio/packages/toolchain-iverilog/bin/iverilog ENOENT
at _errnoException (util.js:1024:11)
at Process.ChildProcess._handle.onexit (internal/child_process.js:190:19)
at onErrorNT (internal/child_process.js:372:16)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickCallback (internal/process/next_tick.js:180:9)
e.g. /home/why/.apio/packages/toolchain-iverilog/bin/iverilog does not exist
I do have iverilog installed under ubuntu
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.