1VERILATOR(1)          User Contributed Perl Documentation         VERILATOR(1)
2
3
4

NAME

6       Verilator - Translate and simulate SystemVerilog code using C++/SystemC
7

SYNOPSIS

9           verilator --help
10           verilator --version
11           verilator --cc [options] [source_files.v]... [opt_c_files.cpp/c/cc/a/o/so]
12           verilator --sc [options] [source_files.v]... [opt_c_files.cpp/c/cc/a/o/so]
13           verilator --lint-only -Wall [source_files.v]...
14

DESCRIPTION

16       The "Verilator" package converts all synthesizable, and many
17       behavioral, Verilog and SystemVerilog designs into a C++ or SystemC
18       model that after compiling can be executed.  Verilator is not a
19       traditional simulator, but a compiler.
20
21       For documentation see <https://verilator.org/verilator_doc.html>.
22

ARGUMENT SUMMARY

24       This is a short summary of the arguments to the "verilator" executable.
25       See <https://verilator.org/guide/latest/exe_verilator.html> for the
26       detailed descriptions of these arguments.
27
28           <file.v>                    Verilog package, module and top module filenames
29           <file.c/cc/cpp>             Optional C++ files to compile in
30           <file.a/o/so>               Optional C++ files to link in
31
32            +1364-1995ext+<ext>        Use Verilog 1995 with file extension <ext>
33            +1364-2001ext+<ext>        Use Verilog 2001 with file extension <ext>
34            +1364-2005ext+<ext>        Use Verilog 2005 with file extension <ext>
35            +1800-2005ext+<ext>        Use SystemVerilog 2005 with file extension <ext>
36            +1800-2009ext+<ext>        Use SystemVerilog 2009 with file extension <ext>
37            +1800-2012ext+<ext>        Use SystemVerilog 2012 with file extension <ext>
38            +1800-2017ext+<ext>        Use SystemVerilog 2017 with file extension <ext>
39           --assert                    Enable all assertions
40           --autoflush                 Flush streams after all $displays
41           --bbox-sys                  Blackbox unknown $system calls
42           --bbox-unsup                Blackbox unsupported language features
43           --bin <filename>            Override Verilator binary
44           --build                     Build model executable/library after Verilation
45           --cc                        Create C++ output
46           --cdc                       Clock domain crossing analysis
47            -CFLAGS <flags>            C++ compiler arguments for makefile
48           --clk <signal-name>         Mark specified signal as clock
49           --no-clk <signal-name>      Prevent marking specified signal as clock
50           --compiler <compiler-name>  Tune for specified C++ compiler
51           --converge-limit <loops>    Tune convergence settle time
52           --coverage                  Enable all coverage
53           --coverage-line             Enable line coverage
54           --coverage-max-width <width>   Maximum array depth for coverage
55           --coverage-toggle           Enable toggle coverage
56           --coverage-underscore       Enable coverage of _signals
57           --coverage-user             Enable SVL user coverage
58            -D<var>[=<value>]          Set preprocessor define
59           --debug                     Enable debugging
60           --debug-check               Enable debugging assertions
61           --no-debug-leak             Disable leaking memory in --debug mode
62           --debugi <level>            Enable debugging at a specified level
63           --debugi-<srcfile> <level>  Enable debugging a source file at a level
64           --no-decoration             Disable comments and symbol decorations
65           --default-language <lang>   Default language to parse
66            +define+<var>=<value>      Set preprocessor define
67           --dpi-hdr-only              Only produce the DPI header file
68           --dump-defines              Show preprocessor defines with -E
69           --dump-tree                 Enable dumping .tree files
70           --dump-tree-addrids         Use short identifiers instead of addresses
71           --dump-treei <level>        Enable dumping .tree files at a level
72           --dump-treei-<srcfile> <level>  Enable dumping .tree file at a source file at a level
73            -E                         Preprocess, but do not compile
74           --error-limit <value>       Abort after this number of errors
75           --exe                       Link to create executable
76           --expand-limit <value>      Set expand optimization limit
77            -F <file>                  Parse arguments from a file, relatively
78            -f <file>                  Parse arguments from a file
79            -FI <file>                 Force include of a file
80           --flatten                   Force inlining of all modules, tasks and functions
81            -fno-<optimization>        Disable internal optimization stage
82            -G<name>=<value>           Overwrite top-level parameter
83           --gate-stmts <value>        Tune gate optimizer depth
84           --gdb                       Run Verilator under GDB interactively
85           --gdbbt                     Run Verilator under GDB for backtrace
86           --generate-key              Create random key for --protect-key
87           --getenv <var>              Get environment variable with defaults
88           --help                      Display this help
89           --hierarchical              Enable hierarchical Verilation
90            -I<dir>                    Directory to search for includes
91           --if-depth <value>          Tune IFDEPTH warning
92            +incdir+<dir>              Directory to search for includes
93           --inline-mult <value>       Tune module inlining
94           --instr-count-dpi <value>   Assumed dynamic instruction count of DPI imports
95            -j <jobs>                  Parallelism for --build
96           --l2-name <value>           Verilog scope name of the top module
97           --language <lang>           Default language standard to parse
98            -LDFLAGS <flags>           Linker pre-object arguments for makefile
99           --lib-create <name>         Create a DPI library
100            +libext+<ext>+[ext]...     Extensions for finding modules
101           --lint-only                 Lint, but do not make output
102           --make <build-tool>         Generate scripts for specified build tool
103            -MAKEFLAGS <flags>         Arguments to pass to make during --build
104           --max-num-width <value>     Maximum number width (default: 64K)
105           --Mdir <directory>          Name of output object directory
106           --MMD                       Create .d dependency files
107           --mod-prefix <topname>      Name to prepend to lower classes
108           --MP                        Create phony dependency targets
109            +notimingchecks            Ignored
110            -O0                        Disable optimizations
111            -O3                        High performance optimizations
112            -O<optimization-letter>    Selectable optimizations
113            -o <executable>            Name of final executable
114           --no-order-clock-delay      Disable ordering clock enable assignments
115           --output-split <statements>          Split .cpp files into pieces
116           --output-split-cfuncs <statements>   Split model functions
117           --output-split-ctrace <statements>   Split tracing functions
118            -P                         Disable line numbers and blanks with -E
119           --pins-bv <bits>            Specify types for top level ports
120           --pins-sc-biguint           Specify types for top level ports
121           --pins-sc-uint              Specify types for top level ports
122           --pins-uint8                Specify types for top level ports
123           --no-pins64                 Don't use uint64_t's for 33-64 bit sigs
124           --pipe-filter <command>     Filter all input through a script
125           --pp-comments               Show preprocessor comments with -E
126           --prefix <topname>          Name of top level class
127           --private                   Debugging; see docs
128           --prof-c                    Compile C++ code with profiling
129           --prof-cfuncs               Name functions for profiling
130           --prof-exec                 Enable generating execution profile for gantt chart
131           --prof-pgo                  Enable generating profiling data for PGO
132           --protect-ids               Hash identifier names for obscurity
133           --protect-key <key>         Key for symbol protection
134           --protect-lib <name>        Create a DPI protected library
135           --public                    Debugging; see docs
136           --public-flat-rw            Mark all variables, etc as public_flat_rw
137            -pvalue+<name>=<value>     Overwrite toplevel parameter
138           --quiet-exit                Don't print the command on failure
139           --relative-includes         Resolve includes relative to current file
140           --reloop-limit              Minimum iterations for forming loops
141           --report-unoptflat          Extra diagnostics for UNOPTFLAT
142           --rr                        Run Verilator and record with rr
143           --savable                   Enable model save-restore
144           --sc                        Create SystemC output
145           --no-skip-identical         Disable skipping identical output
146           --stats                     Create statistics file
147           --stats-vars                Provide statistics on variables
148            -sv                        Enable SystemVerilog parsing
149            +systemverilogext+<ext>    Synonym for +1800-2017ext+<ext>
150           --threads <threads>         Enable multithreading
151           --threads-dpi <mode>        Enable multithreaded DPI
152           --threads-max-mtasks <mtasks>  Tune maximum mtask partitioning
153           --timescale <timescale>     Sets default timescale
154           --timescale-override <timescale>  Overrides all timescales
155           --top <topname>             Alias of --top-module
156           --top-module <topname>      Name of top level input module
157           --trace                     Enable waveform creation
158           --trace-coverage            Enable tracing of coverage
159           --trace-depth <levels>      Depth of tracing
160           --trace-fst                 Enable FST waveform creation
161           --trace-max-array <depth>   Maximum bit width for tracing
162           --trace-max-width <width>   Maximum array depth for tracing
163           --trace-params              Enable tracing of parameters
164           --trace-structs             Enable tracing structure names
165           --trace-threads <threads>   Enable FST waveform creation on separate threads
166           --trace-underscore          Enable tracing of _signals
167            -U<var>                    Undefine preprocessor define
168           --unroll-count <loops>      Tune maximum loop iterations
169           --unroll-stmts <stmts>      Tune maximum loop body size
170           --unused-regexp <regexp>    Tune UNUSED lint signals
171            -V                         Verbose version and config
172            -v <filename>              Verilog library
173           --no-verilate               Skip verilation and just compile previously Verilated code.
174            +verilog1995ext+<ext>      Synonym for +1364-1995ext+<ext>
175            +verilog2001ext+<ext>      Synonym for +1364-2001ext+<ext>
176           --version                   Displays program version and exits
177           --vpi                       Enable VPI compiles
178           --waiver-output <filename>  Create a waiver file based on the linter warnings
179            -Wall                      Enable all style warnings
180            -Werror-<message>          Convert warnings to errors
181            -Wfuture-<message>         Disable unknown message warnings
182            -Wno-<message>             Disable warning
183            -Wno-context               Disable source context on warnings
184            -Wno-fatal                 Disable fatal exit on warnings
185            -Wno-lint                  Disable all lint warnings
186            -Wno-style                 Disable all style warnings
187            -Wpedantic                 Warn on compliance-test issues
188            -Wwarn-<message>           Enable specified warning message
189            -Wwarn-lint                Enable lint warning message
190            -Wwarn-style               Enable style warning message
191           --x-assign <mode>           Assign non-initial Xs to this value
192           --x-initial <mode>          Assign initial Xs to this value
193           --x-initial-edge            Enable initial X->0 and X->1 edge triggers
194           --xml-only                  Create XML parser output
195           --xml-output                XML output filename
196            -y <dir>                   Directory to search for modules
197
198       This is a short summary of the simulation runtime arguments, i.e. for
199       the final Verilated simulation runtime models.  See
200       <https://verilator.org/guide/latest/exe_verilator.html> for the
201       detailed description of these arguments.
202
203            +verilator+debug                  Enable debugging
204            +verilator+debugi+<value>         Enable debugging at a level
205            +verilator+error+limit+<value>    Set error limit
206            +verilator+help                   Display help
207            +verilator+noassert               Disable assert checking
208            +verilator+prof+exec+file+<filename>  Set execution profile filename
209            +verilator+prof+exec+start+<value>    Set execution profile starting point
210            +verilator+prof+exec+window+<value>   Set execution profile duration
211            +verilator+prof+vlt+file+<filename>   Set PGO profile filename
212            +verilator+rand+reset+<value>     Set random reset technique
213            +verilator+seed+<value>           Set random seed
214            +verilator+V                      Verbose version and config
215            +verilator+version                Show version and exit
216

DISTRIBUTION

218       The latest version is available from <https://verilator.org>.
219
220       Copyright 2003-2022 by Wilson Snyder. This program is free software;
221       you can redistribute it and/or modify the Verilator internals under the
222       terms of either the GNU Lesser General Public License Version 3 or the
223       Perl Artistic License Version 2.0.
224
225       All Verilog and C++/SystemC code quoted within this documentation file
226       are released as Creative Commons Public Domain (CC0).  Many example
227       files and test files are likewise released under CC0 into effectively
228       the Public Domain as described in the files themselves.
229

SEE ALSO

231       verilator_coverage, verilator_gantt, verilator_profcfunc, make,
232
233       "verilator --help" which is the source for this document,
234
235       and <https://verilator.org/verilator_doc.html> for detailed
236       documentation.
237
238
239
240perl v5.36.0                      2022-09-24                      VERILATOR(1)
Impressum