]> git.madduck.net Git - etc/vim.git/blobdiff - .vim/bundle/ale/doc/ale-vhdl.txt

madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

All patches and comments are welcome. Please squash your changes to logical commits before using git-format-patch and git-send-email to patches@git.madduck.net. If you'd read over the Git project's submission guidelines and adhered to them, I'd be especially grateful.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

Merge commit '76265755a1add77121c8f9dabb3e9bb70fe9a972' as '.vim/bundle/ale'
[etc/vim.git] / .vim / bundle / ale / doc / ale-vhdl.txt
diff --git a/.vim/bundle/ale/doc/ale-vhdl.txt b/.vim/bundle/ale/doc/ale-vhdl.txt
new file mode 100644 (file)
index 0000000..6b9bd18
--- /dev/null
@@ -0,0 +1,177 @@
+===============================================================================
+ALE VHDL Integration                                         *ale-vhdl-options*
+
+
+===============================================================================
+ALE can use four different linters for VHDL:
+
+  ghdl:
+    Using `ghdl --std=08`
+
+  ModelSim/Questa
+    Using `vcom -2008 -quiet -lint`
+
+  Vivado
+    Using `xvhdl --2008`
+
+  HDL Checker
+    Using `hdl_checker --lsp`
+
+===============================================================================
+General notes
+
+ghdl, ModelSim/Questa and Vivado linters default to VHDL-2008 support. This,
+and other options, can be changed with each linter's respective option
+variable.
+
+Linters/compilers that utilize a "work" directory for analyzing designs- such
+as ModelSim and Vivado- can be passed the location of these directories as
+part of their respective option strings listed below. This is useful for
+holistic analysis of a file (e.g. a design with components, packages, or other
+code defined external to the current file as part of a larger project) or
+when wanting to simply pass an alternative location for the auto-generated
+work directories (such as '/tmp') so as to not muddle the current directory.
+Since these type of linters often use this work directory for holding compiled
+design data as part of a single build process, they sometimes cannot handle
+the frequent, asynchronous application launches when linting while text is
+changing. This can happen in the form of hangs or crashes. To help prevent
+this when using these linters, it may help to run linting less frequently; for
+example, only when a file is saved.
+
+HDL Checker is an alternative for some of the issues described above. It wraps
+around ghdl, Vivado and ModelSim/Questa and, when using the latter, it can
+handle mixed language (VHDL, Verilog, SystemVerilog) designs.
+
+===============================================================================
+ghdl                                                            *ale-vhdl-ghdl*
+
+                                             *ale-options.vhdl_ghdl_executable*
+                                                   *g:ale_vhdl_ghdl_executable*
+                                                   *b:ale_vhdl_ghdl_executable*
+vhdl_ghdl_executable
+g:ale_vhdl_ghdl_executable
+  Type: |String|
+  Default: `'ghdl'`
+
+  This variable can be changed to the path to the 'ghdl' executable.
+
+                                                *ale-options.vhdl_ghdl_options*
+                                                      *g:ale_vhdl_ghdl_options*
+                                                      *b:ale_vhdl_ghdl_options*
+vhdl_ghdl_options
+g:ale_vhdl_ghdl_options
+  Type: |String|
+  Default: `'--std=08'`
+
+  This variable can be changed to modify the flags/options passed to 'ghdl'.
+
+
+===============================================================================
+hdl-checker                                              *ale-vhdl-hdl-checker*
+
+HDL Checker is a wrapper for VHDL/Verilg/SystemVerilog tools that aims to
+reduce the boilerplate code needed to set things up. It can automatically
+infer libraries for VHDL sources, determine the compilation order and provide
+some static checks.
+
+You can install it using pip:
+>
+  $ pip install hdl-checker
+
+`hdl-checker` will be run from a detected project root, determined by the
+following methods, in order:
+
+1. Find the first directory containing a configuration file (see
+   |g:ale_hdl_checker_config_file|)
+2. If no configuration file can be found, find the first directory containing
+   a folder named `'.git'
+3. If no such folder is found, use the directory of the current buffer
+
+                                           *ale-options.hdl_checker_executable*
+                                                 *g:ale_hdl_checker_executable*
+                                                 *b:ale_hdl_checker_executable*
+hdl_checker_executable
+g:ale_hdl_checker_executable
+  Type: |String|
+  Default: `'hdl_checker'`
+
+  This variable can be changed to the path to the 'hdl_checker' executable.
+
+                                              *ale-options.hdl_checker_options*
+                                                    *g:ale_hdl_checker_options*
+                                                    *b:ale_hdl_checker_options*
+hdl_checker_options
+g:ale_hdl_checker_options
+  Type: |String|
+  Default: `''`
+
+  This variable can be changed to modify the flags/options passed to the
+  'hdl_checker' server startup command.
+
+                                          *ale-options.hdl_checker_config_file*
+                                                *g:ale_hdl_checker_config_file*
+                                                *b:ale_hdl_checker_config_file*
+hdl_checker_config_file
+g:ale_hdl_checker_config_file
+  Type: |String|
+  Default: `'.hdl_checker.config'` (Unix),
+           `'_hdl_checker.config'` (Windows)
+
+  This variable can be changed to modify the config file HDL Checker will try
+  to look for. It will also affect how the project's root directory is
+  determined (see |ale-vhdl-hdl-checker|).
+
+  More info on the configuration file format can be found at:
+  https://github.com/suoto/hdl_checker/wiki/Setting-up-a-project
+
+
+===============================================================================
+vcom                                                            *ale-vhdl-vcom*
+
+                                             *ale-options.vhdl_vcom_executable*
+                                                   *g:ale_vhdl_vcom_executable*
+                                                   *b:ale_vhdl_vcom_executable*
+vhdl_vcom_executable
+g:ale_vhdl_vcom_executable
+  Type: |String|
+  Default: `'vcom'`
+
+  This variable can be changed to the path to the 'vcom' executable.
+
+                                                *ale-options.vhdl_vcom_options*
+                                                      *g:ale_vhdl_vcom_options*
+                                                      *b:ale_vhdl_vcom_options*
+vhdl_vcom_options
+g:ale_vhdl_vcom_options
+  Type: |String|
+  Default: `'-2008 -quiet -lint'`
+
+  This variable can be changed to modify the flags/options passed to 'vcom'.
+
+
+===============================================================================
+xvhdl                                                          *ale-vhdl-xvhdl*
+
+                                            *ale-options.vhdl_xvhdl_executable*
+                                                  *g:ale_vhdl_xvhdl_executable*
+                                                  *b:ale_vhdl_xvhdl_executable*
+vhdl_xvhdl_executable
+g:ale_vhdl_xvhdl_executable
+  Type: |String|
+  Default: `'xvhdl'`
+
+  This variable can be changed to the path to the 'xvhdl' executable.
+
+                                               *ale-options.vhdl_xvhdl_options*
+                                                     *g:ale_vhdl_xvhdl_options*
+                                                     *b:ale_vhdl_xvhdl_options*
+vhdl_xvhdl_options
+g:ale_vhdl_xvhdl_options
+  Type: |String|
+  Default: `'--2008'`
+
+  This variable can be changed to modify the flags/options passed to 'xvhdl'.
+
+
+===============================================================================
+  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: