Usage message for vl lint.
" 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*'). "