This file is indexed.

/usr/share/covered/doc/html/chapter.merge.html is in covered-doc 0.7.10-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 10. The merge Command</title><link rel="stylesheet" href="covered.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Covered User's Guide - 0.7.9"><link rel="up" href="part.command.line.usage.html" title="Part III. Command-line Usage"><link rel="prev" href="chapter.score.html" title="Chapter 9. The score Command"><link rel="next" href="chapter.report.html" title="Chapter 11. The report Command"><center><img src="img/banner.jpg"></center><hr></head><body bgcolor="#dfeef8" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 10. The merge Command</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="chapter.score.html"><img src="img/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Part III. Command-line Usage</th><td width="20%" align="right"> <a accesskey="n" href="chapter.report.html"><img src="img/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="chapter.merge"></a>Chapter 10. The merge Command</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="chapter.merge.html#section.merge.using">10.1. Usage</a></span></dt><dt><span class="sect1"><a href="chapter.merge.html#section.merge.options">10.2. Options</a></span></dt><dt><span class="sect1"><a href="chapter.merge.html#section.merge.rules">10.3. Merging Rules</a></span></dt><dd><dl><dt><span class="sect2"><a href="chapter.merge.html#section.merge.rules.block">Block Merging</a></span></dt><dt><span class="sect2"><a href="chapter.merge.html#section.merge.rules.module">Single Module Merging</a></span></dt></dl></dd></dl></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="section.merge.using"></a>10.1. Usage</h2></div></div></div><p>
      The merge command is initiated with the following call:
    </p><p>
      <code class="code">covered merge [<span class="emphasis"><em>options</em></span>] <span class="emphasis"><em>existing_CDD</em></span> <span class="emphasis"><em>CDD_to_merge</em></span>+</code>
    </p><p>
      The <span class="emphasis"><em>existing_CDD</em></span> specifier relates to any existing CDD. If the -o option is not specified (see
      below for details), this file will be replaced with the merged CDD created by the merge. This is important to
      remember since merging is an irreversible operation (apart from generating a brand-new CDD from the design and
      dumpfile using the score command).
    </p><p>
      The <span class="emphasis"><em>CDD_to_merge</em></span> specifier relates to any existing CDD that is not the
      <span class="emphasis"><em>existing_CDD</em></span>. Though it is not illegal to merge the same CDD to itself, the result is the same
      as the original CDD. Note that all files treated as <span class="emphasis"><em>CDD_to_merge</em></span> are guaranteed not to be
      modified by the merge command. These files are only read by Covered and then merged into the information contained
      in the <span class="emphasis"><em>existing_CDD</em></span>.
    </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="section.merge.options"></a>10.2. Options</h2></div></div></div><p>
      </p><div class="table"><a name="table.merge.options"></a><p class="title"><b>Table 10.1. Options to merge Command</b></p><div class="table-contents"><table summary="Options to merge Command" border="1"><colgroup><col><col></colgroup><thead><tr><th>
                Option
              </th><th>
                Description
              </th></tr></thead><tbody><tr><td>
                -d <span class="emphasis"><em>directory</em></span>
              </td><td>
                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.
              </td></tr><tr><td>
                -er (first|last|all|new|old)
              </td><td>
                <p>
                  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:
                </p>
                <p>
                  </p><div class="table"><a name="table.merge.er.values"></a><p class="title"><b>Table 10.2. </b></p><div class="table-contents"><table border="1"><colgroup><col><col></colgroup><thead><tr><th>
                            Value
                          </th><th>
                            Description
                          </th></tr></thead><tbody><tr><td>
                            first
                          </td><td>
                            The CDD file that contained the first occurence of the exclusion should use its reason in the
                            merged CDD file.
                          </td></tr><tr><td>
                            last
                          </td><td>
                            The last CDD file that conflicts with a previous CDD file should use its reason in the merged
                            CDD file.
                          </td></tr><tr><td>
                            all
                          </td><td>
                            All conflicting coverage points will merge their exclusion reason information into a single
                            exclusion reason.
                          </td></tr><tr><td>
                            new
                          </td><td>
                            The newest exclusion reason should be used (all exclusion reasons are timestamped).
                          </td></tr><tr><td>
                            old
                          </td><td>
                            The oldest exclusion reason should be used (all exclusion reasons are timestamped).
                          </td></tr></tbody></table></div></div><p><br class="table-break">
                </p>
              </td></tr><tr><td>
                -ext <span class="emphasis"><em>extension</em></span>
              </td><td>
                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.
              </td></tr><tr><td>
                -f <span class="emphasis"><em>filename</em></span>
              </td><td>
                Name of file containing additional arguments to parse. You may specify this option more than once on a
                command-line.
              </td></tr><tr><td>
                -h
              </td><td>
                Outputs usage information for the merge command.
              </td></tr><tr><td>
                -m <span class="emphasis"><em>message</em></span>
              </td><td>
                Allows the user to specify information about this CDD file which can be most anything.  All messages
                found in merged CDDs will not be included in the merged CDD file.
              </td></tr><tr><td>
                -o <span class="emphasis"><em>filename</em></span>
              </td><td>
                Name of CDD to write merged coverage information to (if not specified, the
                <span class="emphasis"><em>existing_CDD</em></span> is overwritten with merged CDD).
              </td></tr></tbody></table></div></div><p><br class="table-break">
    </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="section.merge.rules"></a>10.3. Merging Rules</h2></div></div></div><p>
      In previous versions of Covered, merging could only be accomplished when the top-most scored modules of each CDD
      were the same the module.  Typically, the user would score the entire DUT in each diagnostic run, creating a set of
      CDD files that could be merged together to see the overall coverage of the diagnostic runs.  While this capability
      still exists, Covered has recently been enhanced to allow more complex merging which provides some new capabilities.
    </p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="section.merge.rules.block"></a>Block Merging</h3></div></div></div><p>
        Covered's merging algorithms have now been enhanced to allow merging CDDs that are generated for different parts
        of the same DUT.  That is to say that each instance or sub-tree in the design can be scored individually and can be
        merged together.  This ability allows for the DUT to be split up into smaller parts, scored in parallel and then merged
        back together to create a single CDD containing the scored results for the entire DUT.  This parallel scoring capability
        can now be used to speed up scoring of large designs by taking advantage of multiple CPUs or CPU cores.
      </p><p>
        The following is an example of a DUT (top-most module of the DUT is block A) and the generic covered calls to score and
        create a single CDD file containing coverage for the entire design.
      </p><p>
        </p><div class="figure"><a name="figure.merge.rules.block"></a><p class="title"><b>Figure 10.1. Example of Verilog hierarchy to be scored in parallel</b></p><div class="figure-contents"><div class="mediaobject"><img src="img/vhier2.png" alt="Example of Verilog hierarchy to be scored in parallel"></div></div></div><p><br class="figure-break">
      </p><p>
        The following commands could be used to score the DUT comprised of blocks A-G in parallel (each score command below could
        occur in parallel with all other score commands).
      </p><p>
        </p><pre class="programlisting">
  covered score -t A -i MAIN.A -e B -e C -o A.cdd ...
  covered score -t B -i MAIN.A.B -e D -e E -o B.cdd ...
  covered score -t C -i MAIN.A.C -e F -e G -o C.cdd ...
  covered score -t D -i MAIN.A.C.D -o D.cdd ...
  covered score -t E -i MAIN.A.C.E -o E.cdd ...
  covered score -t F -i MAIN.A.B.F -o F.cdd ...
  covered score -t G -i MAIN.A.B.G -o G.cdd ...

  covered merge -o total.cdd A.cdd B.cdd C.cdd D.cdd E.cdd F.cdd G.cdd
        </pre><p>
      </p><p>
        In addition to allowing for parallel scoring, this merge method allows users to gain coverage results for smaller
        parts of the design and merge them into a single CDD containing coverage results for the entire design.  This can be
        advantageous for those that are focused on increasing coverage for a specific portion of the design.  Scoring can be
        done on that small part and the coverage gained can be added into an existing CDD containing coverage information for
        the entire design.
      </p><p>
        Using <a href="chapter.merge.html#figure.merge.rules.block" title="Figure 10.1. Example of Verilog hierarchy to be scored in parallel">Figure 10.1, &#8220;Example of Verilog hierarchy to be scored in parallel&#8221;</a> this type of merging would be performed as such:
      </p><p>
        </p><pre class="programlisting">
  covered score -t A -i MAIN.A total.cdd   // The initial coverage file for the entire design

  covered score -t C -i MAIN.A.C -o CDE.cdd ...   // Coverage obtained for modules C, D and E only

  covered merge total.cdd CDE.cdd
        </pre><p>
      </p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="section.merge.rules.module"></a>Single Module Merging</h3></div></div></div><p>
        Along with the capability to merge different portions of the same large design, it is also possible to merge CDDs that
        were generated from different testbenches but have modules that are in common with each other.  This allows different
        teams to work together to enhance coverage for shared design blocks.  It is important to note that when this type of
        merging is being performed that the top-most covered module in the CDDs labeled <span class="emphasis"><em>CDD_to_merge</em></span> exist
        exactly once in the CDD labeled <span class="emphasis"><em>existing_CDD</em></span> for instance coverage information to be reported
        correctly.  If the module is instantiated more than once in the <span class="emphasis"><em>existing_CDD</em></span>, the CDD will still
        be merged but only the module coverage information will be correct.
      </p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="chapter.score.html"><img src="img/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="part.command.line.usage.html"><img src="img/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="chapter.report.html"><img src="img/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 9. The score Command </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="img/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> Chapter 11. The report Command</td></tr></table></div></body></html>