Provided by: covered_0.7.10-3.1_amd64 bug

NAME

       Covered - Verilog Code Coverage Analyzer

SYNTAX

       covered [global_options] score [options]
       covered [global_options] merge [options] existing_database database_to_merge+
       covered [global_options] report [options] database_file
       covered [global_options] rank [options] database_to_rank database_to_rank+
       covered [global_options] exclude [options] exclusion_id+ database_file

DESCRIPTION

       Covered is a Verilog code coverage analysis tool that can be useful for determining how well a diagnostic
       test suite is covering the design under test. Covered reads in the Verilog design files and a  VCD,  LXT2
       or  FST  formatted  dumpfile  from  a  diagnostic  run  and  generates  a database file called a Coverage
       Description Database (CDD) file, using the score command. Covered's score command  can  alternatively  be
       used  to  generate a CDD file and a Verilog module for using Covered as a VPI module in a testbench which
       can obtain coverage information in parallel with simulation (see USING COVERED  AS  A  VPI  MODULE).  The
       resulting  CDD  file  can  be  merged  with  other  CDD files from the same design to create accummulated
       coverage, using the merge command.  Once a CDD file is created, the user  can  use  Covered  to  generate
       various  human-readable coverage reports in an ASCII format or use Covered's GUI to interactively look at
       coverage results, using the report command.  If uncovered coverage points are found that the  user  wants
       to  exclude from coverage, this can be handled with either the command-line exclude command or within the
       GUI.  When multiple CDD files are created from the same design, the user may obtain a coverage ranking of
       those  CDD files to determine an ideal order for regression testing as well as understand which CDD files
       can be excluded from regressions due to their inability to hit new  coverage  points.   Additionally,  as
       part  of  Covered's  score command, race condition possibilities are found in the design files and can be
       either ignored, flagged as warnings or flagged as errors.   By  specifying  race  conditions  as  errors,
       Covered can also be used as a race condition checker.

GLOBAL OPTIONS

       These options are placed immediately after the keyword covered in the command-line.  They can be used for
       any command (with the exception of -v and -h) and have the same effect in each case.

       -B     Obfuscate.  Obfuscates all design-sensitive names before outputting in user-readable format.  This
              option is useful when sharing output with the developers of Covered for debugging purposes.

       -D     Debug.   Display  information helpful for debugging tool problems.  Note:  This option is now only
              available when covered is built with the --enable-debug configuration option.

       -h     Help.  Display this usage information.

       -P [filename]
              Profiling mode.  Turns on internal source code profiler that will produce a  profiling  report  of
              the  run  command to either the specified filename or, if no filename is present, to a file called
              covered.prof.  This option is only available if the --enable-profiling  configuration  option  was
              specified when Covered was built.

       -Q     Quiet mode.  Causes all output to be suppressed.

       -T     Terse  mode.   Causes  all  output to be suppressed with the exception of warning messages and the
              Covered header information.

       -v     Version.  Display current Covered version.

COMMANDS

       score  Parses Verilog files and VCD/LXT2/FST dumpfiles to create  database  file  used  for  merging  and
              reporting.

       merge  Merges two or more database files into one.

       report Generates human-readable coverage reports from database file or starts the coverage report GUI.

       rank   Generates  a  report that specifies an ideal order to run regressions and specifies CDD files that
              do not add new coverage  information  (and  can,  therefore,  be  excluded  from  regressions,  if
              desired).

       exclude
              Allows  one  or more coverage points (identified with exclusion IDs in a report generated with the
              -x option) to have their exclusion property toggled (include to exclude  or  exclude  to  include)
              and,  if  the exclusion property is set to exclude, optionally allow a reason for the exclusion to
              be associated with it and stored in the specified CDD file.

SCORE COMMAND

       The following options are valid for the score command:

       -A ovl Causes OVL assertions to be used for assertion coverage.  This flag must be  given  to  the  score
              command if assertion coverage metrics are needed in the report command.

       -cdd database
              Same as the -o option.  Useful when CDD file being scored is an input to the score command.

       -cli [filename]
              Causes  the command-line debugger to be used during VCD/LXT2/FST dumpfile scoring.  If filename is
              specified, this file contains information saved in a previous call to  savehist  on  the  CLI  and
              causes  the  history  contained  in  this file to be replayed prior to the CLI command prompt.  If
              filename is not specified,  the  CLI  prompt  will  be  immediately  available  at  the  start  of
              simulation.   This  option  is  only  available when Covered is configured with the --enable-debug
              option.

       -conservative
              If this option is specified, any  logic  blocks  that  contain  code  that  could  cause  coverage
              discrepancies  leading  to  potentially  inaccurate  coverage  results  are  removed from coverage
              consideration.  See User's Guide for more information on what type of code can  lead  to  coverage
              inaccuracies.

       -dumpvars [filename]
              If  this option is specified without the -vcd or -lxt options, the design is parsed, a CDD file is
              created and a top-level Verilog module file  named  filename  (if  this  value  is  specified)  or
              "covered_dump.v"  (if filename is not specified) is created.  This file is used in the compilation
              of the simulator to create a dumpfile that is optimized for obtaining coverage for  the  specified
              CDD  file.   If either the -vcd or -lxt options are specified, this option has no effect.  See the
              User's Guide for more information on how to use this option.

       -D define_name
              Defines the specified name to 1.

       -D define_name=value
              Defines the specified name to the specified value.

       -e block_name
              Name of module, task, function or named begin/end block to not score.  Causes all subblocks in the
              Verilog tree under this block to also not be scored.

       -ea    Excludes all always blocks from being considered for coverage.

       -ec    Excludes all continuous assignments from being considered for coverage.

       -ei    Excludes all initial blocks from being considered for coverage.

       -ef    Excludes all final blocks from being considered for coverage.

       -ep [name]
              Excludes all code found between '// coverage off' and '// coverage on' pragmas embedded within the
              design.  If name is specified, the keyword in the pragma will be changed to that name  instead  of
              the  default  "coverage",  allowing the user to change the look of the pragma if it conflicts with
              any other tools.

       -F module_name=[in_expr,]out_expr
              Indicates to the parser where to find the FSM located in module module_name  which  has  an  input
              state  expression  called  in_expr and output state expression called out_expr.  If in_expr is not
              specified, out_expr is used as both the input and output state expression.

       -f filename
              Name of file containing additional arguments to parse.

       -fst filename
              Name of FST dumpfile to score design with.  If -vcd, -lxt or this option is not used, Covered will
              only create an initial CDD file from the design and will not attempt to score the design.

       -g [module_name=](1|2|3)
              Allows  the  user  to  limit  the  parser  to  a specific generation of the Verilog standard for a
              specific module or the entire design, where 1=Verilog-1995, 2=Verilog-2001,  3=SystemVerilog.   If
              module_name=  is  specified,  the parser uses the specified Verilog standard for that module only,
              allowing the rest of the design to use the global standard.  By default, the  global  standard  is
              set  to the most recent version (3).  This option can be specified more than once for a given call
              to the score command; however, if the -g option specifies more than global  value  (i.e.,  without
              the module= prefix), only the last option value will be used.

       -h     Displays this help information.

       -I directory
              Directory to find included Verilog files.

       -i instance_name
              Verilog  hierarchical  reference  to the module that is at the top of the tree to be scored.  This
              option is necessary if module to verify coverage is not the top-level module in  the  design.   If
              not specified, -t value is used.

       -lxt filename
              Name  of  LXT2  dumpfile  to score design with.  If -vcd, -fst or this option is not used, Covered
              will only create an initial CDD file from the design and will not attempt to score the design.

       -m message
              Allows the user to specify information about this CDD file.   This  information  can  be  anything
              (messages  with  whitespace  should  be  surrounded  by  double-quotation  marks), but may include
              something about the simulation arguments to more easily link the CDD file to  its  simulation  for
              purposes of recreating the CDD file.

       -o database
              Name of database to write coverage information to.  If not specified, the output database filename
              will be "cov.cdd".

       -p filename
              Overrides default filename used to store intermediate preprocessor output.

       -P parameter_scope=value
              Performs a defparam on the specified parameter with value.

       -rS    When race condition checks are violated, the offending logic  blocks  are  removed  from  coverage
              consideration  and  all  output  is  suppressed  regarding the race condition violation.  See user
              documentation for more information about race condition checking usage.

       -rW    When race condition checks are violated, the offending logic  blocks  are  removed  from  coverage
              consideration  and  the race condition violation is output.  This is the default behavior for race
              condition handling.  See user documentation for more information  about  race  condition  checking
              usage.

       -rE    When  race  condition checks are violated, the reason is output and scoring ends immediately.  See
              user documentation for more information about race condition checking usage.

       -rI[=module name]
              If module name is not specified, race condition checking is  skipped  altogether  for  the  entire
              design.  If module name is specified, race condition checking is skipped for the specified module.
              See user documentation for more information about race condition checking usage.

       -rP[=name])
              Uses embedded pragmas for ignoring certain code from race  condition  checking  consideration  (if
              name  is specified it is used as the pragma keyword).  See user documentation for more information
              about race condition checking usage.

       -S     Outputs simulation statistics after simulation has completed.  This information is currently  only
              useful for the developers of Covered.

       -t top-level module
              Specifies  the  module  name  of the top-most module that will be measured.  Note that this module
              does not need to be the top-most module in the simulator.  This field is required for all calls to
              the score command.

       -top_ts timescale
              This  option  is  only  valid when the -vpi or -dumpvars options have been specified.  This option
              allows the user to specify  a  timescale  for  the  generated  Verilog  module  created  with  the
              -vpi/-dumpvars  option.   If  this  option  is not specified, no timescale will be created for the
              generated module.  The value of timescale is specified as follows:

              (1|10|100)(s|ms|us|ns|ps|fs)/(1|10|100)(s|ms|us|ns|ps|fs)

              If whitespace is needed between the various values, place the  entire  contents  of  timescale  in
              double quotes.

       -ts number
              When  scoring  occurs,  this option allows the user to see how far the simulator has progressed by
              outputting the current timestep to standard  output.  The  value  of  number  specifies  how  many
              timesteps  are  allowed  to  be  simulated before outputting the current timestep (results in less
              calls to output stream).

       -T (min|typ|max)
              Specifies which value to use when encountering a delay expression in the form:   min:typ:max.   If
              this option is not specified, 'typ' select is used by default.

       -v filename
              Name of specific Verilog file to score.

       -vcd filename
              Name of VCD dumpfile to score design with.  If -lxt, -fst or this option is not used, Covered will
              only create an initial CDD file from the design and will not attempt to score the design.

       -vpi [filename]
              If this option is specified without the -vcd, -lxt or -fst options, the design is  parsed,  a  CDD
              file is created and a top-level Verilog module file named filename (if this value is specified) or
              "covered_vpi.v" (if filename is not specified) is created along  with  a  PLI  table  file  called
              filename.ta  b  or  "covered_vpi.v.ta  b".  Both of these files are used in the compilation of the
              simulator to use Covered as a VPI module.  If either the -vcd, -lxt or -fst options are specified,
              this option has no effect.

       -Wignore
              Suppress the output of warnings during code parsing and simulation.

       -y directory
              Directory to find unspecified Verilog files.

       +libext+.extension[+.extension]*+
              Extensions of Verilog files to allow in scoring.

MERGE COMMAND

       The following options are valid for the merge command:

       -d filename
              Directory  to  search  for CDD files to include.  This option is used in conjunction with the -ext
              option which specifies the file extension to use for determining which files in the directory  are
              CDD files.

       -er (first|last|all|new|old)
              Specifies  how  to handle exclusion reason resolution.  If two or more CDD files being merged have
              exclusion reasons specified for the same coverage point, the exclusion reason needs to be resolved
              (unless  it  is  the same string value).  If this option is not specified and a conflict is found,
              Covered will interactively request input for each exclusion as to  how  to  handle  it.   If  this
              option  is  specified,  it tells Covered how to handle all exclusion reason conflicts.  The values
              are as follows:.br

              first - CDD file that contained the first exclusion reason is used.

              last  - CDD file that contained the last exclusion reason is used.

              all   - All exclusion reasons are used (concatenated).

              new   - Use the newest exclusion reason specified.

              old   - Use the oldest exclusion reason specified.

       -ext extension
              Used in conjunction with the -d option.  If no -ext options are specified on the command-line, the
              default value of '.cdd' is used.  Note that a period (.) should be specified.

       -f filename
              Name of file containing additional arguments to parse.

       -h     Displays this help information.

       -m message
              Allows  the  user  to  specify  information about this CDD file.  This information can be anything
              (messages with whitespace should be surrounded by double-quotation marks).

       -o filename
              File to output new database to.  If this argument is not specified, the existing_database is  used
              as the output database name.

REPORT COMMAND

       The following options are valid with the report command:

       -b     If  combinational  logic verbose output is reported and the expression is a vector operation, this
              option outputs the coverage information on a bitwise basis.

       -c     If -v is specified, displays covered metrics only.  Default is to  display  uncovered  information
              only.

       -d (s|d|v)
              Level  of  detail  to  provide  in  coverage  report  information  (s = summary, d = detailed, v =
              verbose).  Default is summary.

       -e     Outputs all excluded coverage points to the report file along with any specified exclusion reasons
              if the -d d or -d v options are specified.

       -f filename
              Name of file containing additional arguments to parse.

       -h     Displays this help information.

       -i     Provides coverage information for instances instead of module.

       -m [l][t][c][f][r][a][m]
              Type(s)  of  metrics  to  report.   l=line, t=toggle, c=combinational logic, f=FSM state and state
              transition, r=race conditions, a=assertion, m=memory.  Default is ltcf.

       -o filename
              File to output report information to.  Default is standard output.

       -s     Suppresses modules/instances that contain no coverage information from being output to the report.
              Used to help eliminate potentially meaningless information from the report.

       -v     Deprecated.  Replaced by '-d d' or '-d v'.

       -view  Starts the GUI interface for interactive coverage reporting.

       -w (number)
              Specifies  the  maximum line width (in characters) that can be used to output Verilog information.
              If this option is not specified, all Verilog code in the report will retain the same formatting as
              was  specified  in  the  original Verilog code.  If this option is specified, Verilog code will be
              formatted to use as much of the current line as possible, wrapping text when the line reaches  the
              maximum  line  width.   The default maximum line width is 115 characters (this value is used if no
              number is specified with the -w option).  If a number is specified with the -w option, this  value
              is used for the maximum line width.

       -x     Outputs  the exclusion IDs of all uncovered and excluded coverage points within parenthesis before
              the associated verbose  output  of  the  coverage  point.   The  exclusion  IDs  can  be  used  to
              exclude/include coverage points via the exclude command.

RANK COMMAND

       The following options are valid with the rank command:

       -d filename
              Directory  to  search  for CDD files to include.  This option is used in conjunction with the -ext
              option which specifies the file extension to use for determining which files in the directory  are
              CDD files.

       -depth number
              Specifies  the minimum number of needed CDD files to hit each coverage point.  The value of number
              should be greater than zero.  Default is 1.

       -ext extension
              Used in conjunction with the -d option.  If no -ext options are specified on the command-line, the
              default value of '.cdd' is used.  Note that a period (.) should be specified.

       -f filename
              Name of file containing additional arguments to parse.

       -h     Displays help information for the rank command.

       -names-only
              If  specified, outputs only the needed CDD filenames that need to be run in the order they need to
              be run.  If this option is not set, a report-style output is provided with additional information.
              This option is meant to be useful in scripts that only want CDD filenames to run as output.

       -o filename
              Name of file to output ranking information to.  Default is standard output.

       -required-cdd filename
              Name  of CDD that should be considered a required CDD to rank (i.e., it cannot be excluded for any
              reason).

       -required-list filename
              Name of a file that contains a list of CDDs that should be considered required CDDs to rank.   The
              filenames should be separated by whitespace or newline characters within the file.

       -v     Causes  verbose  output  to  be  displayed  when  the  rank command is run.  It outputs diagnostic
              information about each of the different phases of the ranking algorithm including run-time, number
              of CDD files included/excluded and number of coverage points hit by ranked CDDs during each phase.
              This information is meant to be useful for those interested  in  the  ranking  algorithm  and  its
              performance.

       -weight-assert number
              Specifies  a  relative  weighting  for assertion coverage used to rank non-unique coverage points.
              The value of number is  relative  to  the  values  used  in  the  -weight-toggle,  -weight-memory,
              -weight-comb, -weight-fsm and -weight-line rank command options.

       -weight-comb number
              Specifies  a  relative weighting for combinational logic coverage used to rank non-unique coverage
              points.  The value of number is relative to the values used in the -weight-toggle, -weight-memory,
              -weight-assert, -weight-fsm and -weight-line rank command options.

       -weight-fsm number
              Specifies a relative weighting for FSM state and state transition coverage used to rank non-unique
              coverage points.  The value of number is relative  to  the  values  used  in  the  -weight-toggle,
              -weight-memory, -weight-comb, -weight-assert and -weight-line rank command options.

       -weight-line number
              Specifies  a  relative  weighting  for line coverage used to rank non-unique coverage points.  The
              value  of  number  is  relative  to  the  values  used  in  the  -weight-toggle,   -weight-memory,
              -weight-comb, -weight-fsm and -weight-assert rank command options.

       -weight-memory number
              Specifies  a  relative weighting for memory coverage used to rank non-unique coverage points.  The
              value of number is relative to the values used in the -weight-toggle, -weight-line,  -weight-comb,
              -weight-fsm and -weight-assert rank command options.

       -weight-toggle number
              Specifies  a  relative weighting for toggle coverage used to rank non-unique coverage points.  The
              value of number is relative to the values used in the -weight-memory, -weight-line,  -weight-comb,
              -weight-fsm and -weight-assert rank command options.

EXCLUDE COMMAND

       The following options are valid with the exclude command:

       -f filename
              Specifies  the  name of a file that contains more options to the exclude command.  This option may
              be specified as many times as necessary for a single call to the exclude command.

       -h     Generates usage information for the exclude command.

       -m     Allows for an exclusion message to be associated with any coverage points going from the  included
              state  to  the excluded state.  For each coverage point that meets this requirement, the user will
              be prompted to input a reason.  The reason may be any length and any number of lines; however, all
              formatting characters (i.e., newlines, tabs, extra spaces, etc.) will be removed and replaced with
              a single space when it is later displayed.  To end the input of a message, hit a return,  enter  a
              single  period (.) character and hit return again.  The final period character will not be part of
              the exclusion message.

       -p     Causes all specified coverage points to print their current exclusion status and exclusion  reason
              (if  one exists for the excluded coverage point) to standard output.  If this option is specified,
              the -m option will be ignored.

USING COVERED AS A VPI MODULE

       In addition to using Covered's score command to parse a VCD,  LXT2  or  FST  file  to  abstract  coverage
       information,  Covered  may  also  be used as a VPI module within a simulator to extract this information.
       The advantages to using Covered as a VPI over a dumpfile reader include the following.  First, VCD  files
       can  be  extrememly large, especially for long simulations, using up valuable disk space.  Second, if you
       are using a simulator that dumps files in a different format than VCD,  LXT2  or  FST  and  you  want  to
       convert these dump file types to one of these versions, the cost of disk space and time can make creating
       dumpfiles that Covered requires undesirable.  Additionally, though using Covered as  a  VPI  module  will
       slow  down  your simulation speed, it is most likely that the total time spent simulating your design and
       scoring the design in one step will be shorter than doing so  in  two  steps.   As  a  result,  Covered's
       configure  utility  can  generate  VPI-ready  libraries  for the following free and commercial simulators
       (Icarus Verilog, CVER and VCS).

       To automatically build the VPI-ready library files when generating Covered from  source,  simply  specify
       one  or  more  of  the  following  when  running  the  "configure" utility in the base Covered directory:
       --with-iv=<Icarus Verilog install path>, --with-vcs=<VCS include path>, --with-cver=<CVER include  path>.
       After  Covered  has  been  configured,  simply  type  'make'  and  'make install'.  This will install the
       VPI-ready  library  files  in  the  installation  libexec  directory  (by  default  this  path  will   be
       /usr/local/libexec).

       Before  you  are ready to compile the design, you must first create a CDD file, a top-level Verilog file,
       and a PLI table file (the last file is only needed for the VCS compiler).  This is done by specifying the
       -vpi   (filename)  option  to Covered's score command.  If no filename is specified after -vpi, the files
       covered_vpi.v and covered_vpi.ta b will be created along with the generated  coverage  file.   Note  that
       this  step  only needs to be performed once unless the design files change.  You are now ready to compile
       the simulator.

       If you are  compiling  an  Icarus  Verilog  simulation,  simply  add  '-m  /usr/local/libexec/covered.vpi
       covered_vpi.v'  to  the  'iverilog'  command-line.   Once  compilation  is  complete,  run  the generated
       executable file as you normally would.

       If       you        are        compiling        a        CVER        simulation,        simply        add
       '+loadvpi=/usr/local/libexec/covered.cver.so:vpi_compat_bootstrap    covered_vpi.v'    to    the   'cver'
       command-line.

       If     you     are     compiling     a     VCS     simulation,      simply      add      '+vpi      -load
       /usr/local/libexec/covered.vcs.so:covered_register   covered_vpi.v'  to  the  'vcs'  command-line.   Once
       compilation is complete, run the generated executable file as you normally would.

       If you are compiling a NC-Verilog simulation, switch to NC-Verilog's irun command  to  load  the  covered
       shared  object:  '-loadvpi /usr/local/libexec/covered.ncv.so:covered_register' and enable all access with
       '-access +rwc'. You can hardcode the $covered_sim call into your RTL or you can run it dynamically  using
       the  CLI,  by  adding  the  -input  input.tcl  switch  to  irun.  Where the input.tcl file looks like the
       following and tb.dut is the coverage instance:
              call -systf {$covered_sim} {"scored.cdd"} tb.dut
              run

       There are two plusargs that can be passed to the generated executable when it is run  that  Covered  will
       parse.   The  '+covered_cdd=<filename>' option will cause Covered to output the scored design contents to
       the CDD file specified by <filename>.  This allows multiple runs of the  simulator  to  generate  several
       different  CDD files without needed a recompile to occur.  The '+covered_debug' option will cause Covered
       to dump a lot of excessive output about its internal run-time state during simulation.  This output  will
       only  be  generated if Covered was configured with the --enable-debug option.  This plusarg option should
       not be used by regular users as it is primarily intended to aid the developers of Covered in debugging.

AUTHORS

       Trevor Williams <phase1geo@gmail.com>

SEE ALSO

       For more information on how to use the Covered code  coverage  tool,  please  consult  the  User's  Guide
       included with this release at /usr/local/share/covered/doc/html/index.html.