- Notifications
You must be signed in to change notification settings - Fork6
Vim plugin to aid VHDL development (for LSP, seehttps://github.com/suoto/hdl_checker)
License
suoto/vim-hdl
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
HDL Checker implements the core functionality ofvim-hdl
andbecause it now supportsLanguage Server Protocol,vim-hdl
is beingdeprecated
AnyLSP client should work, be it on Vim or other editors.
Have a look atHDL Checker supported editors tocheck some examples of how to set it up.
You'll need to install HDL Checker pip package:
pip install hdl-checker --upgrade
or
pip install hdl-checker --upgrade --user
Just make sure you can runhdl_checker --version
and it should work just fine.
Back when vim-hdl started, Vim did not have the widespread support for LSP it hastoday and with it I can actually focus in the core functionality and support moreplatforms at the same time. This last update is likely the last one!
vim-hdl is a Vim plugin that usesHDL Checker to provide somehelpers to VHDL development:
- Syntax checking (usingthird-party-compilers +Syntastic)
- Style checking
cd~/.vim/bundle/git clone https://github.com/suoto/vim-hdl.git
In your .vimrc:
Plugin'suoto/vim-hdl'
- Requires Vim compiled with Python support, plus features needed bySyntastic itself
- Only tested on Linux with recent Vim versions (7.4+)
vim-hdl requires a configuration file listing libraries, source files, buildflags, etc. Select the configuration file via
" Configure the project fileletg:vimhdl_conf_file='<config/file>'
You use theVimhdlCreateProjectFile
command to search and help you setting upthe configuration file
:VimhdlCreateProjectFile<optional/path/to/files>
See thewiki for details on how to writeit.
Any otherSyntastic option should work as well.
You can clonevim-hdl-examples repository and try a ready touse setup.
Style checks are independent of a third-party compiler. Checking includes:
- Signal names in lower case
- Constants and generics in upper case
- Unused signals, constants, generics, shared variables, libraries, types andattributes
- Comment tags (
FIXME
,TODO
,XXX
)
Notice that currently the unused reports has caveats, namely declarations withthe same name inherited from a component, function, procedure, etc. In thefollowing example, the signalrdy
won't be reported as unused in spite of thefact it is not used.
signal rdy, refclk, rst :std_logic;...idelay_ctrl_u : idelay_ctrlportmap (rdy=>open, refclk=> refclk, rst=> rst);
- vim-hdl issue tracker should be used for bugs, featurerequests, etc related to the Vim client itself (something that only happenswith Vim)
- HDL Checker issue tracker should be used for bugs,feature requests, etc related to the code checker backend.
If unsure, usevim-hdl issue tracker, it will be moved toHDL Checker issue tracker if applicable.
This software is licensed under theGPL v3 license.
Mentor Graphics®, ModelSim® and their respective logos are trademarks orregistered trademarks of Mentor Graphics, Inc.
Altera® and its logo is a trademark or registered trademark of AlteraCorporation.
Xilinx® and its logo is a trademark or registered trademark of Xilinx, Inc.
vim-hdl's author has no connection or affiliation to any of the trademarksmentioned or used by this software.
About
Vim plugin to aid VHDL development (for LSP, seehttps://github.com/suoto/hdl_checker)