/vim-hdl

Vim plugin to aid VHDL development (for LSP, see https://github.com/suoto/hdl_checker)

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

vim-hdl

May I have your attention please?

HDL Checker implements the core functionality of vim-hdl and because it now supports Language Server Protocol, vim-hdl is being deprecated

How to continue using HDL Checker

Any LSP client should work, be it on Vim or other editors.

Have a look at HDL Checker supported editors to check some examples of how to set it up.

But I want to keep using Syntastic!

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 run hdl_checker --version and it should work just fine.

Rationale

Back when vim-hdl started, Vim did not have the widespread support for LSP it has today and with it I can actually focus in the core functionality and support more platforms at the same time. This last update is likely the last one!


Build Status codecov Join the chat at https://gitter.im/suoto/vim-hdl Analytics

vim-hdl is a Vim plugin that uses HDL Checker to provide some helpers to VHDL development:


vim-hdl screenshot


Installation

cd ~/.vim/bundle/
git clone https://github.com/suoto/vim-hdl.git

In your .vimrc:

Plugin 'suoto/vim-hdl'

Notes

  • Requires Vim compiled with Python support, plus features needed by Syntastic itself
  • Only tested on Linux with recent Vim versions (7.4+)

Usage

vim-hdl requires a configuration file listing libraries, source files, build flags, etc. Select the configuration file via

" Configure the project file
let g:vimhdl_conf_file = '<config/file>'

You use the VimhdlCreateProjectFile command to search and help you setting up the configuration file

:VimhdlCreateProjectFile <optional/path/to/files>

See the wiki for details on how to write it.

Any other Syntastic option should work as well.

You can clone vim-hdl-examples repository and try a ready to use setup.


Supported third-party compilers


Style checking

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 and attributes
  • Comment tags (FIXME, TODO, XXX)

Notice that currently the unused reports has caveats, namely declarations with the same name inherited from a component, function, procedure, etc. In the following example, the signal rdy won't be reported as unused in spite of the fact it is not used.

signal rdy, refclk, rst : std_logic;
...

idelay_ctrl_u : idelay_ctrl
    port map (rdy    => open,
              refclk => refclk,
              rst    => rst);

Issues

  • vim-hdl issue tracker should be used for bugs, feature requests, etc related to the Vim client itself (something that only happens with Vim)
  • HDL Checker issue tracker should be used for bugs, feature requests, etc related to the code checker backend.

If unsure, use vim-hdl issue tracker, it will be moved to HDL Checker issue tracker if applicable.

License

This software is licensed under the GPL v3 license.

Notice

Mentor Graphics®, ModelSim® and their respective logos are trademarks or registered trademarks of Mentor Graphics, Inc.

Altera® and its logo is a trademark or registered trademark of Altera Corporation.

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 trademarks mentioned or used by this software.