Commentary

This commit is contained in:
Wilson Snyder 2021-03-12 08:50:24 -05:00
parent 29ed866061
commit 2cde7b0128
2 changed files with 19 additions and 16 deletions

View File

@ -158,22 +158,25 @@ verilator_coverage - Verilator coverage analyzer
verilator_coverage -write-info merged.info -read <datafiles>... verilator_coverage -write-info merged.info -read <datafiles>...
Verilator_coverage processes Verilator coverage reports. Verilator_coverage processes Verilated model-generated coverage reports.
With --anotate, it reads the specified data file and generates annotated With --annotate, it reads the specified coverage data file and generates
source code with coverage metrics annotated. If multiple coverage points annotated source code with coverage metrics annotated. If multiple
exist on the same line, additional lines will be inserted to report the coverage points exist on the same source code line, additional lines will
additional points. be inserted to report the additional points.
Additional Verilog-standard arguments specify the search paths necessary to Additional Verilog-XL-style standard arguments specify the search paths
find the source code that the coverage analysis was performed on. 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 To filter those items to be included in coverage, you may read
into Emacs and do a M-x keep-lines to include only those statistics of logs/coverage.dat into an editor and do a M-x keep-lines to include only
interest. those statistics of interest and save to a new .dat file.
For Verilog conditions that should never occur, you should add a $stop For Verilog conditions that should never occur, either add a $stop
statement. This will remove the coverage during the next build. statement to the appropriate statement block, or see the Verilator
documentation on "// verilator coverage_off" and "coverage_off". This will
remove the coverage points after the model is re-Verilated.
=head1 ARGUMENTS =head1 ARGUMENTS
@ -181,12 +184,12 @@ statement. This will remove the coverage during the next build.
=item I<filename> =item I<filename>
Specify input data file, may be repeated to read multiple inputs. If no Specify input data file. May be repeated to read multiple inputs. If no
data file is specified, by default coverage.dat is read. data file is specified, by default coverage.dat is read.
=item --annotate I<output_directory> =item --annotate I<output_directory>
Sprcifies the directory name that source files with annotated coverage data Specifies the directory name that source files with annotated coverage data
should be written to. should be written to.
=item --annotate-all =item --annotate-all

View File

@ -544,9 +544,9 @@ scale printed, i.e. a certain about of time for each character width. The
Y-axis shows threads, each thread's execution is shown on one line. That Y-axis shows threads, each thread's execution is shown on one line. That
line shows "[" at the position in time when it executes. line shows "[" at the position in time when it executes.
Following the "[" is the cpu number the task executed on, followed by zero Following the "[" is the CPU number the task executed on, followed by zero
or more "-" to make the width of the characters match the scaled execution or more "-" to make the width of the characters match the scaled execution
time, followed by a "]". If the scale is too small, the cpu number and time, followed by a "]". If the scale is too small, the CPU number and
mtask number will not be printed. If the scale is very small, a "&" mtask number will not be printed. If the scale is very small, a "&"
indicates multiple mtasks started at that time position. indicates multiple mtasks started at that time position.