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 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176
|
<chapter id="chapter.faq">
<title>FAQ</title>
<para>
This page contains a list of accummulated Frequently Asked Questions. If you are having difficulties using Covered or have questions
that are not answered in the User's Guide, please check this list for answers. If you do not find the information that you are
looking for in the User's Guide or this FAQ, please send an e-mail to:
</para>
<para>
<email>phase1geo@gmail.com</email>
</para>
<qandaset>
<qandaentry>
<question>
<para>
<emphasis role="bold">Is a CDD file generated from a newer version of Covered compatible with a CDD file generated from an older
version?</emphasis>
</para>
</question>
<answer>
<para>
The answer to this question is, "Well, that depends...". Since the format of the CDD file is only used by Covered, the contents
and format of this file may be changed to suit the needs of Covered. This means that it is possible for a CDD file created from
an older version of Covered to be incompatible with a newer version. Additionally, the developers of Covered will not make any
attempts to make sure that older CDD files can be properly read by a newer version of Covered. It is suggested that any CDD
files generated from a particular version of Covered be merged and/or reported on by that same version, and if Covered is
upgraded, new CDD files should be generated.
</para>
<para>
This being said, it is also a possibility that between versions of Covered a "backwards compatibility" may be maintained if a
change to this file's format is not required.
</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
<emphasis role="bold">When I run the score command, Covered seems to take a long time to run. Is there anything that I can do to
speed up scoring?</emphasis>
</para>
</question>
<answer>
<para>
While Covered is continuously being enhanced to provide better performance for all commands (especially the score command), it may
still take a while to complete scoring if one or more of the following is true:
</para>
<para>
<orderedlist>
<listitem><para>The design being scored is sufficiently large</para></listitem>
<listitem><para>The VCD/LXT2/FST dumpfile is sufficiently large</para></listitem>
<listitem><para>The VCD/LXT2/FST dumpfile contains dump information for a part of the design not being scored</para></listitem>
<listitem><para>When Covered was configured, the --enable-debug and/or --enable-profiling options were specified</para></listitem>
</orderedlist>
</para>
<para>
If reason (1) is true, speeding up each run can be achieved by one of the following suggestions:
</para>
<para>
<itemizedlist>
<listitem>
<para>
Reduce the scored design in size by eliminating modules or constructs from its design tree. (See <xref linkend="section.score.t"/>
for more information on how to accomplish this)
</para>
</listitem>
<listitem>
<para>
Split up the design into smaller parts along module boundaries and generate coverage for those parts.
</para>
<note>
<para>
It is not currently possible to append these modules into one file. Merging and reporting must be done on these smaller
pieces independently from one another.
</para>
</note>
</listitem>
</itemizedlist>
</para>
<para>
If reason (2) is true, nothing can be done except to shorten the run time of the diagnostics to produce shorter dumpfiles.
</para>
<para>
If reason (3) is true, the $dumpvars call in the simulator should be modified to only generate VCD/LXT2/FST dump information for the
modules included in scoring. If there are modules not being scored which are included in the $dumpvars calls, please remove
these unnecessary modules from dumpfile output.
</para>
<para>
If reason (4) is true, Covered should be reconfigured without these options specified. The debugging and profiling facilities
are enormous performance degraders and immediate simulation performance enhancement will be seen if Covered is rebuilt without
these options specified.
</para>
<para>
If you believe that you have a situation which is void of these prevailing reasons and Covered is still running slowly, please
send an e-mail to me. I will consider these problems to be of lower priority than actual bugs but will look into the situation
to see where code can be optimized.
</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
<emphasis role="bold">I get an assertion error when running Covered, what should I do?</emphasis>
</para>
</question>
<answer>
<para>
Covered uses C assertions to make sure that internal pointers are not be referenced when NULL and that certain internal
situations do not arise. If you receive some type of assertion error when running Covered, it means that something went wrong
internally in Covered. The error is NOT due to user error. Please submit a bug report containing the assertion error message,
file and line number. Additionally, run the Covered command with the -D global option (covered -D
<emphasis>command</emphasis>) and provide the output from doing this with the bug report (please only specify tail of output if
the output is too lengthy).
</para>
<para>
If Covered provides any other type of error message (something other than a core dump), Covered has found a user error that must
be fixed by the user. Please do not submit bug reports if these errors are encountered, unless you wish to add a question about
it to the FAQ.
</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
<emphasis role="bold">Covered is giving me a parser error for Verilog code that seems to be syntactically correct. What is
wrong?</emphasis>
</para>
</question>
<answer>
<para>
If Covered displays a syntax (parse) error during the score command and the Verilog code is written correctly, it is because
Covered's parser is incomplete. Please submit a bug or send an e-mail containing a code snippet of the unsupported Verilog.
</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
<emphasis role="bold">Is Covered's Verilog parser Verilog-2001 compliant?</emphasis>
</para>
</question>
<answer>
<para>
This is currently being worked on. The parser should properly parse all code; however, not all Verilog-2001 constructs are considered
for coverage due to lack of support for them in Covered's core. If there is code that will not parse that should, please submit a
bug report for this.
</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
<emphasis role="bold">What is the difference between the stable release and the development release?</emphasis>
</para>
</question>
<answer>
<para>
Covered's development consists of two active "branches": the stable branch and the development branch. When a new stable branch is
created (ex. 0.4 or 0.5), it represents the latest version of the development branch. As Covered's development branch is worked on
(adding new features, changes to the core, etc.), the stable branch remains in a feature frozen stage. Only bug fixes,
documentation updates or minor enhancements (changes that will not affect the core code) are made to the stable branch. When a
number of these changes have been accumulated on the stable branch, a snapshot of the stable branch is made available for
public download (ex. 0.4.1). User's of the stable release should expect no major feature changes from minor rev to minor rev and
should expect a somewhat polished version of the project (few if any bugs and correct user documentation).
</para>
<para>
User's of the development releases should expect to see more bugs and fewer documentation consistencies (although an attempt is
made to minimize both) but should expect lots of feature additions, optimizations, improvements, etc. from release to release.
Bug findings found in the stable release are applied to the development branch when applicable. It is important to note that both
the stable and development releases contain a regression testbench that must fully pass before either release is made. This
should minimize bugs in both releases and give user's of either branch a level of confidence that the release is usable.
</para>
</answer>
</qandaentry>
</qandaset>
</chapter>
|