File: chapter.gui.memory.html

package info (click to toggle)
covered 0.7.10-7
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 9,040 kB
  • sloc: ansic: 48,809; yacc: 11,650; xml: 8,838; tcl: 7,698; sh: 3,925; lex: 2,240; makefile: 362; perl: 329
file content (110 lines) | stat: -rw-r--r-- 14,728 bytes parent folder | download | duplicates (6)
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 -&gt; 1 and from 1 -&gt; 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 "--&gt;" 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-&gt;1 and 1-&gt;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-&gt;1 toggle information while the bottom vector shows
        the 1-&gt;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>