Usage message for vl lint.
Value:
"
vl lint: A linting tool for Verilog. Scans your Verilog files for things
that look like bugs (size mismatches, unused wires, etc.)
Example: vl lint engine.v wrapper.v core.v \\
--search ./simlibs \\
--search ./baselibs
Usage: vl lint [OPTIONS] file.v [file2.v ...] [+mymode ...]
Options:
-h,--help Show a brief usage message and exit.
--readme Show a more elaborate README and exit.
-s,--search=DIR Control the search path for finding modules.
You can give this switch multiple times, to
set up multiple search paths in priority
order.
--searchext=EXT Control the search extensions for finding
modules. You can give this switch multiple
times. By default we just look for files
named \"foo.v\" in the --search directories.
But if you have Verilog files with different
extensions, this won't work, so you can add
these extensions here. EXT should not
include the period, e.g., use \"--searchext
vv\" to consider files like \"foo.vv\", etc.
-I,--incdir=DIR Control the list of directories for `include
files. You can give this switch multiple
times. By default, we look only in the
current directory.
--topmod=MOD Limit the scope of the report to MOD. By
default we include all warnings for any
module we encounter. But if you say
\"--topmod foo\", we suppress all warnings for
modules that foo does not depend on. You can
give this switch multiple times, e.g.,
\"--topmod foo --topmod bar\" means: only show
warnings for foo, bar, and modules that they
depend on.
-q,--quiet=MOD Suppress all warnings that about MOD. You
can give this switch multiple times, e.g.,
\"-q foo -q bar\" will hide the warnings about
modules foo and bar.
-d,--drop=MOD Delete MOD from the module hierarchy before
doing any linting at all. This is a gross
(but effective) way to work through any bugs
in the linter that are triggered by certain
modules. The dropped modules are removed
from the module list without destroying
modules above them. This may occasionally
lead to false warnings about the modules
above (e.g., it may think some wires are
unused, because the module that uses them has
been removed.)
-i,--ignore=TYPE Ignore warnings of this TYPE. For instance,
\"--ignore oddexpr\" will suppress
VL_WARN_ODDEXPR warnings. Note that there
are much finer-grained ways to suppress
warnings; see \"vl lint --readme\" for more
information.
--ignore-file=FILENAME
Ignore warnings from modules in filename.
For instance, \"--ignore-file foo.v\" will
suppress all warnings from modules in foo.v
(from any directory). You can also give
absolute paths, in which case only exact
matches will be suppressed. Note that there
are much finer-grained ways to suppress
warnings; see \"vl lint --readme\" for more
information.
-D,--define=VAR Set up definitions to use before parsing
begins. For instance, \"--define foo\" is
similar to \"`define foo\" and \"--define foo=3\"
is similar to \"`define foo 3\". Note: these
defines are \"sticky\" and will override
subsequent `defines in your Verilog files
unless your Verilog explicitly uses `undef.
You can give this option multiple times.
--cclimit=N Limit for the const check. This is a beta
feature that is not yet released. Setting N
to 0 (the default) disables the check.
Otherwise, limit the scope of the check to at
most N sub-expressions.
--global-package=PACKAGE
Consider the given package to be global for
purposes of the globalparams check; i.e.,
parameters defined in this package should not
be defined anywhere else.
--elab-limit=N Default 10000. Recursion limit for
elaboration. This usually shouldn't matter
or need tinkering. It's a safety valve
against possible loops in elaboration, e.g.,
to resolve parameter P you need to evaluate
parameter Q, which might require you to
resolve R, which might depend hierarchically
on P, and so on. So if you hit this there's
probably something wrong with your design.
--stmt-limit=N Default 80. Recursion limit for compiling
statements, e.g., unrolling loops and
figuring out when they terminate. For
linting we use a low default limit that is
meant to avoid wasting an inordinate amount
of time compiling troublesome loops.
Increasing this may avoid svex translation
warnings, but may result in bad performance
in some cases.
--no-typo Disable typo detection (it is sometimes
slow).
--no-html Reduce the file size of vl-warnings.json by
printing the warnings there in text-only
mode.
--no-sv-use-set Disable sv-use-set check.
--edition=EDITION Which edition of the Verilog standard to
implement? Default: \"SystemVerilog\" (IEEE
1800-2012). You can alternately use
\"Verilog\" for IEEE 1364-2005, i.e.,
Verilog-2005.
--strict Disable VL extensions to Verilog.
-m,--mem=GB How much memory to try to use. Default: 4
GB. Raising this may improve performance by
avoiding garbage collection. To avoid
swapping, keep this below (physical_memory -
2 GB).
--debug Print extra information for debugging.
--shell Instead of running the linter, enter an ACL2
shell where the linter configuration has been
saved as constant
@('vl::*vl-user-lintconfig*').
--post-shell After running the linter, enter an ACL2 shell
where the linter configuration has been saved
as constant @('vl::*vl-user-lintconfig*').
"