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
|
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter20.Navigating the Memory Coverage Window</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.gui.html" title="PartIV.Graphical User Interface"><link rel="prev" href="chapter.gui.toggle.html" title="Chapter19.Navigating the Toggle Coverage Window"><link rel="next" href="chapter.gui.logic.html" title="Chapter21.Navigating the Combinational Logic Window"><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">Chapter20.Navigating the Memory Coverage Window</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="chapter.gui.toggle.html"><img src="img/prev.gif" alt="Prev"></a></td><th width="60%" align="center">PartIV.Graphical User Interface</th><td width="20%" align="right"><a accesskey="n" href="chapter.gui.logic.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.gui.memory"></a>Chapter20.Navigating the Memory Coverage Window</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="chapter.gui.memory.html#section.gui.memory.layout">20.1. Understanding the Layout</a></span></dt><dd><dl><dt><span class="sect2"><a href="chapter.gui.memory.html#section.gui.memory.layout.ame">Addressable Memory Elements Frame</a></span></dt><dt><span class="sect2"><a href="chapter.gui.memory.html#section.gui.memory.layout.elem">Element Coverage Frame</a></span></dt><dt><span class="sect2"><a href="chapter.gui.memory.html#section.gui.memory.layout.button">Button Frame</a></span></dt></dl></dd><dt><span class="sect1"><a href="chapter.gui.memory.html#section.gui.memory.excl">20.2. Excluding/Including a Memory for Memory Coverage</a></span></dt><dt><span class="sect1"><a href="chapter.gui.memory.html#section.gui.memory.displaying">20.3. Displaying a New Memory for Memory Coverage</a></span></dt></dl></div><p>
The verbose memory window allows the user to interactively view all of the coverage information for a selected
memory, including the following for each addressable memory element:
</p><p>
</p><div class="orderedlist"><ol type="1"><li><p>Have all bits toggled from 0 -> 1 and from 1 -> 0?</p></li><li><p>Has the entry been written?</p></li><li><p>Has the entry been read?</p></li></ol></div><p>
</p><p>
To display this window, simply click on a highlighted/underlined uncovered memory in the
<a href="chapter.gui.main.html#section.gui.main.viewer" title="17.4.The Coverage File Viewer">file viewer</a>. This will cause the verbose memory viewer to be created for the specified
memory as well as display a "-->" symbol in the Coverage Viewer on the same line as the selected memory. This
symbol is simply meant to help the user identify in the Coverage Viewer which memory is currently displayed in the
Memory Viewer window. Figure 1 shows the Memory Viewer loaded with a 4-dimensional memory called "mem" in which two
of the dimensions are unpacked (all combinations of unpacked dimensions make up the total number of addressable
elements in the memory), creating a total of 18 addressable elements. The first addressable element "[0][0]" is
shown in the lower frame in which only a single bit has been toggled from 0 to 1, the element has been written, but
it has not been read.
</p><p>
</p><div class="figure"><a name="figure.gui.memory"></a><p class="title"><b>Figure20.1.Verbose Memory Window</b></p><div class="figure-contents"><div class="mediaobject"><img src="img/memory_full.gif" alt="Verbose Memory Window"></div></div></div><p><br class="figure-break">
</p><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="section.gui.memory.layout"></a>20.1.Understanding the Layout</h2></div></div></div><p>
The Memory Coverage window is split up into three main frames stacked from top to bottom. These frames, in order
from top to bottom, are the "Addressable Memory Elements" frame, the "Element Coverage" frame, and the button
frame. Each are described in detail below.
</p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="section.gui.memory.layout.ame"></a>Addressable Memory Elements Frame</h3></div></div></div><p>
The uppermost frame contains all of the addressable memory elements (AMEs) of the memory. An AME is a single
memory entry that is addressed by specifying a unique combination of values for each of the unpacked dimensions
of the memory. For example, consider the following memory:
</p><p>
</p><pre class="programlisting">
reg [15:0] foo[0:1][0:3];
</pre><p>
</p><p>
This memory called "foo" contains three dimensions. One packed dimension which is a 16-bit little endian value
and two unpacked dimensions, containing two entries of four entries (for a total of eight addressable memory
elements). Each AME being 16 bits wide. The AMEs for this memory would be:
</p><p>
</p><div class="itemizedlist"><ul type="disc"><li><p>foo[0][0]</p></li><li><p>foo[0][1]</p></li><li><p>foo[0][2]</p></li><li><p>foo[0][3]</p></li><li><p>foo[1][0]</p></li><li><p>foo[1][1]</p></li><li><p>foo[1][2]</p></li><li><p>foo[1][3]</p></li></ul></div><p>
</p><p>
The upper frame will contain all of the AMEs for the selected memory. The uncovered AMEs will be highlighted in
the uncovered color scheme (as specified in the <a href="chapter.gui.preferences.html" title="Chapter28.Navigating the Preferences Window">preferences window</a>)
while all fully covered AMEs will remain unhighlighted. To view the coverage information for any uncovered AME,
simply click on it and the information will be viewable in the "Element Coverage" frame below it.
</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="section.gui.memory.layout.elem"></a>Element Coverage Frame</h3></div></div></div><p>
The Element Coverage frame shows all of the coverage information for the currently selected AME including toggle
coverage (which bits of the element toggled from 0->1 and 1->0), write coverage (was this entry written to)
and read coverage (was this entry accessed).
</p><p>
The bit vector displayed in the toggle window is a binary bit vector, where each value (0 or 1) represents
whether that bit in the signal either toggled (1) or did not toggle (0) during simulation. There are two bit
vectors displayed for the AME, the top vector shows the 0->1 toggle information while the bottom vector shows
the 1->0 toggle information.
</p><p>
The name of the memory along with its dimensional range information is displayed below the toggle window;
however, if the mouse cursor is placed over a specific bit in the toggle box, the packed dimensional range
information will be changed to show the displayed bit, making it easy for the user to discern exactly which bit
has toggled/not toggled. If the width of the AME exceeds the given space for the toggle window, a scrollbar will
be allowed to slide left and right to view the rest of the toggle information.
</p><p>
Below the memory name are two other pieces of coverage information about the AME. The value to the right of the
<span class="bold"><strong>Written:</strong></span> label will be set to either "Yes" or "No". If the value is "Yes", this
indicates that the currently selected AME was written during simulation and value will be highlighted with the
covered color scheme (as selected in the <a href="chapter.gui.preferences.html" title="Chapter28.Navigating the Preferences Window">preferences window</a>). If
the value is "No", this indicates that the currently selected AME was not written during simulation and the value
will be highlighted with the uncovered color scheme.
</p><p>
To the right of the <span class="bold"><strong>Written</strong></span> information is the
<span class="bold"><strong>Read</strong></span> label which will also be set to either a value of "Yes" or "No". If the
value is "Yes", this indicates that the currently selected AME was accessed during simulation and the value will
be highlighted with the covered color scheme. If the value is "No", this indicates that the currently selected
AME was not accessed during simulation and the value will be highlighted with the uncovered color scheme.
</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="section.gui.memory.layout.button"></a>Button Frame</h3></div></div></div><p>
The button frame contains buttons for closing the Memory Coverage window, displaying this help page, or moving to
the next/previous uncovered memory in the same module/instance.
</p><p>
To exit this window, simply click on <span class="bold"><strong>Close</strong></span> button. To see this help page from
the toggle window, click on the <span class="bold"><strong>Help</strong></span> button.
</p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="section.gui.memory.excl"></a>20.2.Excluding/Including a Memory for Memory Coverage</h2></div></div></div><p>
The user may exclude/include any uncovered memory in the design for memory coverage by simply clicking on the
<span class="bold"><strong>Excluded</strong></span> checkbutton in the upper right-hand portion of the Memory Coverage
window. If this checkbutton is checked, the <a href="chapter.gui.exclude.html" title="Chapter29.The Exclusion Reason Popup Window">exclusion reason popup window</a>
will be displayed automatically, allowing the user to specify a reason for excluding the memory. Once a reason has
been entered, the summary coverage information will automatically be recalculated and
redisplayed in the <a href="chapter.gui.main.html#section.gui.main.listbox" title="17.3.The Module/Instance Listbox">listbox</a> and the background color of the underlined memory in
the <a href="chapter.gui.main.html#section.gui.main.viewer" title="17.4.The Coverage File Viewer">file viewer</a> will change from the uncovered background color to the covered
background color. However, the memory will still remain underlined, allowing the user to see the verbose memory
coverage information, if necessary. If the <span class="bold"><strong>Excluded</strong></span> checkbutton is unchecked, the
summary coverage information and background colors will be readjusted to include the coverage information for this
memory.
</p><p>
If the user excludes any memory for memory coverage in the design, the <span class="bold"><strong>Save CDD...</strong></span>
option in the <a href="chapter.gui.main.html#section.gui.main.filemenu" title="The File Menu">file</a> menu. This allows the user to save the excluded property
either back to the CDD file (or to a newly named CDD file). Doing so will allow the user to load the CDD file at a
different time and retain the knowledge of which memories have been excluded/included for memory coverage.
Additionally, if a saved CDD file with coverage exclusion is merged with another CDD file, the excluded memory
information is preserved for the resulting merged CDD file.
</p><p>
If a memory has been excluded from coverage and an exclusion reason was specified, you can view the reason for exclusion
by right-click-and-holding on the <span class="bold"><strong>Excluded</strong></span> checkbutton. This will cause a
tooltip-style window to be displayed specifying the reason for exclusion. The background color of the tooltip will be
the same color as the "covered" background color to help distinguish it from a normal tooltip. To cause the exclusion
reason tooltip to disappear, simply release the button.
</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="section.gui.memory.displaying"></a>20.3.Displaying a New Memory for Memory Coverage</h2></div></div></div><p>
If the Verbose Memory Coverage window is currently displayed with a memory, the user may select a new memory in
the <a href="chapter.gui.main.html#section.gui.main.viewer" title="17.4.The Coverage File Viewer">file viewer</a> of the Main window. When a new memory is selected, its value
immediately replaces the currently selecting memory value. This feature allows many different memories to be
viewed one after the other without having to create/destroy a new window for each memory.
</p><p>
The user may also see the previous or next uncovered memory in the main viewer by clicking either the left arrow
button (for previous memory viewing) or the right arrow button (for next memory viewing). Note that the left arrow
button will be disabled if there is not a memory previous to the current memory in the given module and the right
arrow button will be disabled if there is not a memory after the current memory in the given module.
</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="chapter.gui.toggle.html"><img src="img/prev.gif" alt="Prev"></a></td><td width="20%" align="center"><a accesskey="u" href="part.gui.html"><img src="img/up.gif" alt="Up"></a></td><td width="40%" align="right"><a accesskey="n" href="chapter.gui.logic.html"><img src="img/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">Chapter19.Navigating the Toggle Coverage Window</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">Chapter21.Navigating the Combinational Logic Window</td></tr></table></div></body></html>
|