verilator_coverage - Verilator coverage analyzer
verilator_coverage --help
verilator_coverage --version
verilator_coverage --annotate <obj>
verilator_coverage -write merged.dat -read <datafiles>...
verilator_coverage -write-info merged.info -read <datafiles>...
Verilator_coverage processes Verilator coverage reports.
With --anotate, it reads the specified data file and generates
annotated source code with coverage metrics annotated. If multiple coverage
points exist on the same line, additional lines will be inserted to report
the additional points.
Additional Verilog-standard arguments specify the search paths
necessary to find the source code that the coverage analysis was performed
on.
To get correct coverage percentages, you may wish to read
logs/coverage.dat into Emacs and do a M-x keep-lines to include only those
statistics of interest.
For Verilog conditions that should never occur, you should add a
$stop statement. This will remove the coverage
during the next build.
- filename
- Specify input data file, may be repeated to read multiple inputs. If no
data file is specified, by default coverage.dat is read.
- --annotate
output_directory
- Sprcifies the directory name that source files with annotated coverage
data should be written to.
- --annotate-all
- Specifies all files should be shown. By default, only those source files
which have low coverage are written to the output directory.
- --annotate-min
count
- Specifies the minimum occurrence count that should be flagged if the
coverage point does not include a specified threshold. Defaults to
10.
- --help
- Displays this message and program version and exits.
- --rank
- Print an experimental report listing the relative importance of each test
in covering all of the coverage points. The report shows
"Covered" which indicates the number of points that test covers;
a test is considered to cover a point if it has a bucket count of at least
1. The "rank" column has a higher number t indicate the test is
more important, and rank 0 means the test does not need to be run to cover
the points. "RankPts" indicates the number of coverage points
this test will contribute to overall coverage if all tests are run in the
order of highest to lowest rank.
- --unlink
- When using --write to combine coverage data, unlink all input files after
the output has been created.
- --version
- Displays program version and exits.
- --write
filename
- Specifies the aggregate coverage results, summed across all the files,
should be written to the given filename in verilator_coverage data format.
This is useful in scripts to combine many sequential runs into one master
coverage file.
- --write-info
filename.info
- Specifies the aggregate coverage results, summed across all the files,
should be written to the given filename in
"lcov" .info format. This may be used to
use "lcov" to aggregate or generate
reports.
The info format loses data compared to the Verilator coverage
data format; the info will all forms of coverage converted to line style
coverage, and if there are multiple coverage points on a single line,
the minimum coverage across those points will be used to report coverage
of the line.
The following arguments are compatible with GCC, VCS and most
Verilog programs.
- +libext+ext+ext...
- Defines the extensions for Verilog files.
- +define+var+value =item -Dvar=value
- Defines the given variable.
- +incdir+dir =item -Idir
- Specifies a directory for finding include files.
- -f file
- Specifies a file containing additional command line arguments.
- -y dir
- Specifies a module search directory.
The latest version is available from
<https://verilator.org>.
Copyright 2003-2020 by Wilson Snyder. This program is free
software; you can redistribute it and/or modify the Verilator internals
under the terms of either the GNU Lesser General Public License Version 3 or
the Perl Artistic License Version 2.0.
SPDX-License-Identifier: LGPL-3.0-only OR Artistic-2.0
Wilson Snyder <wsnyder@wsnyder.org>
"verilator",
"lcov"
"verilator_coverage --help" which is the source for this
document.