diff --git a/Changes b/Changes index f4d7990b4..8952ba3e8 100644 --- a/Changes +++ b/Changes @@ -557,7 +557,7 @@ Verilator 4.014 2019-05-08 * For FST tracing use LZ4 compression. [Tony Bybell] * Add error when use parameters without value. (#1424) [Peter Gerst] * Auto-extend and WIDTH warn on unsized X/Zs. (#1423) [Udi Finkelstein] -* Fix missing VL_SHIFTL_ errors. (#1412) (#1415) [Larry Lee] +* Fix missing VL_SHIFTL errors. (#1412) (#1415) [Larry Lee] * Fix MinGW GCC 6 printf formats. (#1413) [Sergey Kvachonok] * Fix test problems when missing fst2vcd. (#1417) [Todd Strader] * Fix GTKWave register warning. (#1421) [Pieter Kapsenberg] @@ -626,7 +626,7 @@ Verilator 4.006 2018-10-27 * Add --dump-defines. * For --trace-fst, save enum decoding information. (#1358) [Sergi Granell] (To visualize enumeration data you must use GTKwave 3.3.95 or newer.) -* For --trace-fst, instead of *.fst.hier, put data into *.fst. [Tony Bybell] +* For --trace-fst, combine hier information into FST. [Tony Bybell] * Fix --trace-lxt2 compile error on MinGW, msg2667. [HyungKi Jeong] * Fix Windows .exe not found. (#1361) [Patrick Stewart] @@ -1960,7 +1960,7 @@ Verilator 3.700 2009-01-08 more information on supported constructs. * Add --coverage_toggle for toggle coverage analysis. Running coverage now requires SystemPerl 1.301 or newer. -* Add /*verilator coverage_on/_off */ to bracket coverage regions. +* Add coverage_on/_off metacomments to bracket coverage regions. **Minor:** @@ -2098,7 +2098,7 @@ Verilator 3.662 2008-04-25 * Add Verilog 2005 $clog2() function. This is useful in calculating bus-widths from parameters. -* Support /**/ comments in -f option files. [Stefan Thiede] +* Support C-style comments in -f option files. [Stefan Thiede] * Add error message when modules have duplicate names. [Stefan Thiede] * Support defines terminated in EOF, though against spec. [Stefan Thiede] * Support optional argument to $finish and $stop. [by Stefan Thiede] @@ -2224,7 +2224,7 @@ Verilator 3.652 2007-06-21 * Support V2K portlists with "input a,b,...". [Mark Nodine] * Support V2K function/task argument lists. * Optimize constant $display arguments. -* Fix Preprocessor dropping some `line directives. [Mark Nodine] +* Fix preprocessor dropping some `line directives. [Mark Nodine] Verilator 3.651 2007-05-22 @@ -2944,7 +2944,7 @@ Verilator 3.300 2004-10-21 **Major:** -* New backend that eliminates most VL_ macros. +* New backend that eliminates most VL macros. Improves performance 20%-50%, depending on frequency of use of signals over 64 bits. GCC compile times with -O2 shrink by a factor of 10. @@ -3106,7 +3106,7 @@ Verilator 3.202 2004-01-27 Verilator 3.201-beta 2003-12-10 -========================== +=============================== **Major:** @@ -3402,8 +3402,8 @@ Verilator 3.004 2002-10-10 **Minor:** -* Add /* verilator module_inline */ and associated optimizations. -* Allow /* verilator coverage_block_off */ in place of `coverage_block_off. +* Add module_inline metacomment and associated optimizations. +* Allow coverage_block_off metacomment in place of `coverage_block_off. This prevents problems with Emacs AUTORESET. [Ray Strouble] * Fix `coverage_block_off also disabling subsequent blocks. * Fix unrolling of loops with multiple simple statements. diff --git a/bin/verilator b/bin/verilator index b886d5b40..c503e4036 100755 --- a/bin/verilator +++ b/bin/verilator @@ -287,9 +287,11 @@ This is a short summary of the arguments to the "verilator" executable. See L for the detailed descriptions of these arguments. - {file.v} Verilog package, module and top module filenames - {file.c/cc/cpp} Optional C++ files to compile in - {file.a/o/so} Optional C++ files to link in +=for VL_SPHINX_EXTRACT "_build/gen/args_verilator.rst" + + Verilog package, module and top module filenames + Optional C++ files to compile in + Optional C++ files to link in +1364-1995ext+ Use Verilog 1995 with file extension +1364-2001ext+ Use Verilog 2001 with file extension @@ -304,7 +306,7 @@ arguments. --bbox-unsup Blackbox unsupported language features --bin Override Verilator binary --build Build model executable/library after Verilation - -CFLAGS C++ compiler flags for makefile + -CFLAGS C++ compiler arguments for makefile --cc Create C++ output --cdc Clock domain crossing analysis --clk Mark specified signal as clock @@ -334,8 +336,8 @@ arguments. -E Preprocess, but do not compile --error-limit Abort after this number of errors --exe Link to create executable - -F Parse options from a file, relatively - -f Parse options from a file + -F Parse arguments from a file, relatively + -f Parse arguments from a file -FI Force include of a file --flatten Force inlining of all modules, tasks and functions -G= Overwrite top-level parameter @@ -352,12 +354,12 @@ arguments. +incdir+ Directory to search for includes --inhibit-sim Create function to turn off sim --inline-mult Tune module inlining - -LDFLAGS Linker pre-object flags for makefile + -LDFLAGS Linker pre-object arguments for makefile --l2-name Verilog scope name of the top module --language Default language standard to parse +libext++[ext]... Extensions for finding modules --lint-only Lint, but do not make output - -MAKEFLAGS Options to make during --build + -MAKEFLAGS Arguments to pass to make during --build --max-num-width Maximum number width (default: 64K) --MMD Create .d dependency files --MP Create phony dependency targets @@ -453,15 +455,18 @@ This is a short summary of the simulation runtime arguments, i.e. for the final Verilated simulation runtime models. See L for the detailed description of these arguments. +=for VL_SPHINX_EXTRACT "_build/gen/args_verilated.rst" + +verilator+debug Enable debugging +verilator+debugi+ Enable debugging at a level + +verilator+error+limit+ Set error limit +verilator+help Display help + +verilator+noassert Disable assert checking +verilator+prof+threads+file+ Set profile filename +verilator+prof+threads+start+ Set profile starting point +verilator+prof+threads+window+ Set profile duration +verilator+rand+reset+ Set random reset technique +verilator+seed+ Set random seed - +verilator+noassert Disable assert checking +verilator+V Verbose version and config +verilator+version Show version and exit @@ -473,11 +478,11 @@ executable. =over 4 -=item {file.v} +=item Specifies the Verilog file containing the top module to be Verilated. -=item {file.c/.cc/.cpp/.cxx} +=item Used with --exe to specify optional C++ files to be linked in with the Verilog code. The file path should either be absolute, or relative to @@ -487,7 +492,7 @@ appropriate directory to find the file. See also the -CFLAGS and -LDFLAGS options, which are useful when the C++ files need special compiler flags. -=item {file.a/.o/.so} +=item Specifies optional object or library files to be linked in with the Verilog code, as a shorthand for -LDFLAGS "". The file path should either be @@ -698,7 +703,7 @@ Note Verilator may over-count combinatorial (non-clocked) blocks when those blocks receive signals which have had the UNOPTFLAT warning disabled; for most accurate results do not disable this warning when using coverage. -=item --trace-max-width I +=item --coverage-max-width I Rarely needed. Specify the maximum bit width of a signal that is subject to toggle coverage. Defaults to 256, as covering large vectors may greatly @@ -763,8 +768,11 @@ is fairly standard across Verilog tools while -D is similar to GCC. Select the debug executable of Verilator (if available), and enable more internal assertions (equivalent to C<--debug-check>), debugging messages -(equivalent to C<--debugi 3>), and intermediate form dump files (equivalent -to C<--dump-treei 3>). +(equivalent to C<--debugi 3>), intermediate form dump files (equivalent to +C<--dump-treei 3>), and leak to make node numbers unique (--debug-leak). + +Verilator will also abort() instead of exit() if there are any errors +detected. =item --debug-check @@ -790,7 +798,8 @@ option has no effect. Rarely needed - for developer use. Set internal debugging level globally to the specified debug level (1-10) or set the specified Verilator source file to the specified level (e.g. C<--debugi-V3Width 9>). Higher levels -produce more detailed messages. +produce more detailed messages. See --debug for other implications of +having debug on (at levels other than zero). =item --default-language I @@ -3070,8 +3079,9 @@ thread. =head1 CONFIGURATION FILES In addition to the command line, warnings and other features may be -controlled by configuration files, typically named with the .vlt -extension. An example: +controlled by configuration files, typically named with the .vlt extension +(what makes it a configuration file is the `verilator_config directive). An +example: `verilator_config lint_off -rule WIDTH