Fix coverage hierarchy being backwards with inlining.
This commit is contained in:
parent
ce212722ad
commit
3e8cf26c1a
2
Changes
2
Changes
|
|
@ -11,6 +11,8 @@ indicates the contributor was also the author of the fix; Thanks!
|
||||||
|
|
||||||
**** Fix 'for' under 'generate-for' causing error; bug38. [Rafael Shirakawa]
|
**** Fix 'for' under 'generate-for' causing error; bug38. [Rafael Shirakawa]
|
||||||
|
|
||||||
|
**** Fix coverage hierarchy being backwards with inlining. [Vasu Arasanipalai]
|
||||||
|
|
||||||
**** Fix GCC 4.3 compile error; bug35. [Lane Brooks]
|
**** Fix GCC 4.3 compile error; bug35. [Lane Brooks]
|
||||||
|
|
||||||
* Verilator 3.680 2008/10/08
|
* Verilator 3.680 2008/10/08
|
||||||
|
|
|
||||||
|
|
@ -2111,6 +2111,21 @@ Verilator makes standard VCD (Value Change Dump) files. They are viewable
|
||||||
with the public domain Dinotrace or GtkWave programs, or any of the many
|
with the public domain Dinotrace or GtkWave programs, or any of the many
|
||||||
commercial offerings.
|
commercial offerings.
|
||||||
|
|
||||||
|
=item How do I reduce the size of large waveform (trace) files?
|
||||||
|
|
||||||
|
First, instead of calling SpTraceVcdCFile->open at the beginning of time,
|
||||||
|
delay calling it until the time stamp where you want to tracing to begin.
|
||||||
|
Likewise you can also call SpTraceVcdCFile->open before the end of time
|
||||||
|
(perhaps a short period after you detect a verification error.)
|
||||||
|
|
||||||
|
Next, add /*verilator tracing_off*/ to any very low level modules you never
|
||||||
|
want to trace (such as perhaps library cells). Finally, use the
|
||||||
|
--trace-depth option to limit the depth of tracing, for example
|
||||||
|
--trace-depth 1 to see only the top level signals.
|
||||||
|
|
||||||
|
Also be sure you write your trace files to a local disk, instead of to a
|
||||||
|
network disk. Network disks are generally far slower.
|
||||||
|
|
||||||
=item How do I do coverage analysis?
|
=item How do I do coverage analysis?
|
||||||
|
|
||||||
Verilator supports both block (line) coverage and user inserted functional
|
Verilator supports both block (line) coverage and user inserted functional
|
||||||
|
|
|
||||||
|
|
@ -249,7 +249,7 @@ private:
|
||||||
virtual void visit(AstCoverDecl* nodep, AstNUser*) {
|
virtual void visit(AstCoverDecl* nodep, AstNUser*) {
|
||||||
// Fix path in coverage statements
|
// Fix path in coverage statements
|
||||||
if (m_cellp) {
|
if (m_cellp) {
|
||||||
nodep->hier(nodep->hier()+"."+m_cellp->prettyName());
|
nodep->hier(m_cellp->prettyName()+"."+nodep->hier());
|
||||||
}
|
}
|
||||||
nodep->iterateChildren(*this);
|
nodep->iterateChildren(*this);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue