summaryrefslogtreecommitdiff
path: root/doc/ale-vhdl.txt
diff options
context:
space:
mode:
authorJohn Gentile <johncgentile17@gmail.com>2019-01-27 04:46:33 -0500
committerw0rp <w0rp@users.noreply.github.com>2019-01-27 09:46:33 +0000
commitb8bf7b220d0f7ab461ed830b125f9dbc42a7836a (patch)
tree0f4b112c5c082b156ca8393d3242cb3fe762bfd8 /doc/ale-vhdl.txt
parent91c1fc3bb396dfcb495c484db7d39193df8826eb (diff)
downloadale-b8bf7b220d0f7ab461ed830b125f9dbc42a7836a.zip
Add VHDL Support & Newer Verilog Linters (#2229)
* Added VHDL file support with ghdl compiler * Update ghdl.vim * Create vcom.vim * Create xvhdl.vim * Update xvlog.vim * Added documentation for VHDL & Verilog linters * Added tests to VHDL & Verilog linters
Diffstat (limited to 'doc/ale-vhdl.txt')
-rw-r--r--doc/ale-vhdl.txt92
1 files changed, 92 insertions, 0 deletions
diff --git a/doc/ale-vhdl.txt b/doc/ale-vhdl.txt
new file mode 100644
index 00000000..3fea947d
--- /dev/null
+++ b/doc/ale-vhdl.txt
@@ -0,0 +1,92 @@
+===============================================================================
+ALE VHDL Integration *ale-vhdl-options*
+
+
+===============================================================================
+ALE can use three different linters for VHDL:
+
+ iverilog:
+ Using `iverilog -t null -Wall`
+
+ ModelSim/Questa
+ Using `vcom -2008 -quiet -lint`
+
+ Vivado
+ Using `xvhdl --2008`
+
+Note all 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.
+
+===============================================================================
+ghdl *ale-vhdl-ghdl*
+
+g:ale_vhdl_ghdl_executable *g:ale_vhdl_ghdl_executable*
+ *b:ale_vhdl_ghdl_executable*
+ Type: |String|
+ Default: `'ghdl'`
+
+ This variable can be changed to the path to the 'ghdl' executable.
+
+
+g:ale_vhdl_ghdl_options *g:ale_vhdl_ghdl_options*
+ *b:ale_vhdl_ghdl_options*
+ Type: |String|
+ Default: `'--std=08'`
+
+ This variable can be changed to modify the flags/options passed to 'ghdl'.
+
+
+===============================================================================
+vcom *ale-vhdl-vcom*
+
+g:ale_vhdl_vcom_executable *g:ale_vhdl_vcom_executable*
+ *b:ale_vhdl_vcom_executable*
+ Type: |String|
+ Default: `'vcom'`
+
+ This variable can be changed to the path to the 'vcom' executable.
+
+
+g:ale_vhdl_vcom_options *g:ale_vhdl_vcom_options*
+ *b: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*
+
+g:ale_vhdl_xvhdl_executable *g:ale_vhdl_xvhdl_executable*
+ *b:ale_vhdl_xvhdl_executable*
+ Type: |String|
+ Default: `'xvhdl'`
+
+ This variable can be changed to the path to the 'xvhdl' executable.
+
+
+g:ale_vhdl_xvhdl_options *g:ale_vhdl_xvhdl_options*
+ *b: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: