diff --git a/bin/verilator b/bin/verilator index b65cd9b25..c1f3be853 100755 --- a/bin/verilator +++ b/bin/verilator @@ -190,14 +190,15 @@ This is a short summary of the arguments to Verilator. See the detailed descriptions in the next sections for more information. {file.v} Verilog top level filenames - {file.c/cc/cpp} Optional C++ files to link in + {file.c/cc/cpp} Optional C++ files to compile in + {file.a/o/so} Optional C++ files to link in --assert Enable all assertions --autoflush Flush streams after all $displays --bbox-sys Blackbox unknown $system calls --bbox-unsup Blackbox unsupported language features --bin Override Verilator binary - -CFLAGS C++ Compiler flags for makefile + -CFLAGS C++ Compiler flags for makefile --cc Create C++ output --cdc Clock domain crossing analysis --compiler Tune for specified C++ compiler @@ -205,23 +206,26 @@ descriptions in the next sections for more information. --coverage-line Enable line coverage --coverage-toggle Enable toggle coverage --coverage-user Enable PSL/SVL user coverage - -D[=] Set preprocessor define + -D[=] Set preprocessor define --debug Enable debugging --debug-check Enable debugging assertions --debugi Enable debugging at a specified level --debugi- Enable debugging a source file at a level + +define++ Set preprocessor define --dump-tree Enable dumping .tree files - -E Preprocess, but do not compile + -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 + -f Parse options from a file --help Display this help. - -I Directory to search for includes + -I Directory to search for includes + +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 - -LDLIBS Linker library flags for makefile + -LDFLAGS Linker pre-object flags for makefile + -LDLIBS Linker library flags for makefile --language Language standard to parse + +libext++[ext]... Extensions for finding modules --lint-only Lint, but do not make output --MMD Create .d dependency files --MP Create phony dependency targets @@ -229,10 +233,11 @@ descriptions in the next sections for more information. --mod-prefix Name to prepend to lower classes --no-pins64 Don't use uint64_t's for 33-64 bit sigs --no-skip-identical Disable skipping identical output - -O0 Disable optimizations - -O3 High performance optimizations - -O Selectable optimizations - -o Name of final executable + +notimingchecks Ignored + -O0 Disable optimizations + -O3 High performance optimizations + -O Selectable optimizations + -o Name of final executable --output-split Split .cpp files into pieces --output-split-cfuncs Split .ccp functions --pins-bv Specify types for top level ports @@ -246,26 +251,21 @@ descriptions in the next sections for more information. --sc Create SystemC output --sp Create SystemPerl output --stats Create statistics file - -sv Enable SystemVerilog parsing + -sv Enable SystemVerilog parsing --top-module Name of top level input module --trace Enable waveform creation --trace-depth Depth of tracing - -U Undefine preprocessor define + -U Undefine preprocessor define --unroll-count Tune maximum loop iterations --unroll-stmts Tune maximum loop body size - -V Verbose version and config - -v Verilog library - -Werror- Convert warning to error - -Wfuture- Disable unknown message warnings - -Wno- Disable warning - -Wno-lint Disable all lint warnings - -x-assign Initially assign Xs to this value - -y Directory to search for modules - - +define++ Set preprocessor define - +incdir+ Directory to search for includes - +libext++[ext]... Extensions for finding modules - +notimingchecks Ignored + -V Verbose version and config + -v Verilog library + -Werror- Convert warning to error + -Wfuture- Disable unknown message warnings + -Wno- Disable warning + -Wno-lint Disable all lint warnings + -x-assign Initially assign Xs to this value + -y Directory to search for modules =head1 ARGUMENTS @@ -436,6 +436,11 @@ the comment "DefaultClock": // psl default clock = posedge clk; // psl cover {cyc==9} report "DefaultClock,expect=1"; +=item -DI=I + +Defines the given preprocessor symbol. Same as +define; +define is fairly +standard across Verilog tools while -D is an alias for GCC compatibility. + =item --debug Select the debug built image of Verilator (if available), and enable more @@ -452,6 +457,11 @@ changing debug verbosity. Enabled automatically when --debug specified. Rarely needed - for developer use. Set internal debugging level globally or on the specified source file to the specified level. +=item +define+I+I + +Defines the given preprocessor symbol. Same as -D; +define is fairly +standard across Verilog tools while -D is an alias for GCC compatibility. + =item --dump-tree Rarely needed. Enable writing .tree debug files. This is enabled with @@ -474,10 +484,29 @@ After this number of errors or warnings are encountered, exit. Defaults to Generate a executable. You will also need to pass additional .cpp files on the command line that implement the main loop for your simulation. +=item -f I + +Read the specified file, and act as if all text inside it was specified as +command line parameters. Note -f is fairly standard across Verilog tools. + =item --help Displays this message and program version and exits. +=item -II + +Add the directory to the list of directories that should be searched for +include directories or libraries. Same as +incdir and -y; +incdir and -y +are fairly standard across Verilog tools while -I is an alias for GCC +compatibility. + +=item +incdir+I + +Add the directory to the list of directories that should be searched for +include directories or libraries. Same as -I and -y; +incdir and -y +are fairly standard across Verilog tools while -I is an alias for GCC +compatibility. + =item --inhibit-sim Rarely needed. Create a "inhibitSim(bool)" function to enable and disable @@ -512,6 +541,12 @@ The language value must be "1364-1995", "1364-2001", "1364-2001", the preferable option is to edit the code to repair new keywords, or add appropriate `begin_keywords. +=item +libext+I+I... + +Specify the extensions that should be used for finding modules. If for +example module I is referenced, look in I.I. Note +libext+ is +fairly standard across Verilog tools. + =item --lint-only Check the files for lint violations only, do not create any other output. @@ -548,6 +583,10 @@ Backward compatible alias for "--pins-bv 33". Rarely needed. Disables skipping execution of Verilator if all source files are identical, and all output files exist with newer dates. +=item +notimingchecks + +Ignored for compatibility with other simulators. + =item -O0 Disables optimization of the model. @@ -709,6 +748,10 @@ Specify the number of levels deep to enable tracing, for example entire model. Using a small number will decrease visibility, but greatly improve runtime and trace file size. +=item -UI + +Undefines the given preprocessor symbol. + =item --unroll-count I Rarely needed. Specifies the maximum number of loop iterations that may be @@ -719,6 +762,17 @@ unrolled. See also BLKLOOPINIT warning. Rarely needed. Specifies the maximum number of statements in a loop for that loop to be unrolled. See also BLKLOOPINIT warning. +=item -V + +Shows the verbose version, including configuration information compiled +into Verilator. (Similar to perl -V.) + +=item -v I + +Read the filename as a Verilog library. Any modules in the file may be +used to resolve cell instantiations in the top level module, else ignored. +Note -v is fairly standard across Verilog tools. + =item -Werror-I Convert the specified warning message into a error message. This is @@ -775,57 +829,12 @@ sequence. Use the system's srand48() or for Windows srand() function to do this. You'll probably also want to print any seeds selected, and code to enable rerunning with that same seed so you can reproduce bugs. -=back - -=head1 VERILOG ARGUMENTS - -The following arguments are compatible with GCC, VCS and most Verilog -programs. - -=over 4 - -=item +define+I+I - -=item -DI=I - -Defines the given preprocessor symbol. - -=item -f I - -Read the specified file, and act as if all text inside it was -specified as command line parameters. - -=item +incdir+I - -=item -II - =item -y I -Add the directory to the list of directories that should be searched -for include directories or libraries. - -=item +libext+I+I... - -Specify the extensions that should be used for finding modules. If for -example module I is referenced, look in I.I. - -=item +notimingchecks - -Ignored for compatibility with other simulators. - -=item -UI - -Undefines the given preprocessor symbol. - -=item -V - -Shows the verbose version, including configuration information compiled -into Verilator. (Similar to perl -V.) - -=item -v I - -Read the filename as a Verilog library. Any modules in the file may be -used to resolve cell instantiations in the top level module, else ignored. +Add the directory to the list of directories that should be searched for +include directories or libraries. Same as +incdir and -I; +incdir and +y +are fairly standard across Verilog tools while -I is an alias for GCC +compatibility. =back