File: chapter_gui_main.xml

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 (630 lines) | stat: -rw-r--r-- 37,616 bytes parent folder | download | duplicates (7)
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
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
<chapter id="chapter.gui.main">
  <title>Navigating the Main Window</title>
  <para>
    <xref linkend="figure.gui.main.window"/> shows the main window prior to a CDD file being loaded.  There are five main 
    components of the main window.  These components are the following (from top to bottom, left to right):
  </para>
  <para>
    <orderedlist>
      <listitem><para><link linkend="section.gui.main.menubar">The menu bar</link></para></listitem>
      <listitem><para><link linkend="section.gui.main.covbar">The coverage type bar</link></para></listitem>
      <listitem><para><link linkend="section.gui.main.listbox">The module/instance summary listbox</link></para></listitem>
      <listitem><para><link linkend="section.gui.main.viewer">The coverage file viewer</link></para></listitem>
      <listitem><para><link linkend="section.gui.main.infobar">The information bar</link></para></listitem>
    </orderedlist>
  </para>
  <para>
    <figure id="figure.gui.main.window">
      <title>Covered Main Window</title>
      <mediaobject><imageobject><imagedata fileref="img/main_window.gif" format="GIF"/></imageobject></mediaobject>
    </figure>
  </para>
  
  <sect1 id="section.gui.main.menubar">
    <title>The Main Menu Bar</title>
    <para>
      The Main Menu Bar consists of four menus at the top of the main window.  <xref linkend="figure.gui.main.menubar"/> below shows the 
      menu bar portion of the GUI bordered in red.  These menus are the following:
    </para>
    <para>
      <orderedlist>
        <listitem>
          <para>
            <link linkend="section.gui.main.filemenu">File</link> - Creates, opens, merges, saves and closes CDD files, generates 
            reports, and exits the application.
          </para>
        </listitem>
        <listitem>
          <para>
            <link linkend="section.gui.main.reportmenu">Report</link> - Specifies what type of report to show.
          </para>
        </listitem>
        <listitem>
          <para>
            <link linkend="section.gui.main.viewmenu">View</link> - Provides additional viewing options.
          </para>
        </listitem>
        <listitem>
          <para>
            <link linkend="section.gui.main.helpmenu">Help</link> - Provides access to online help manual and tool information.
          </para>
        </listitem>
      </orderedlist>
    </para>
    <para>
      <figure id="figure.gui.main.menubar">
        <title>Covered Main Window Highlighting the Menu Bar</title>
        <mediaobject><imageobject><imagedata fileref="img/main_menu.gif" format="GIF"/></imageobject></mediaobject>
      </figure>
    </para>
    <note>
      <para>
        On Mac OS X, the main menubar does not exist in the application window.  Like most Mac OS X
        applications, the main menubar exists at the top of the display.
      </para>
    </note>
    <para>
      
    </para>
    
    <sect2 id="section.gui.main.filemenu">
      <title>The File Menu</title>
      <para>
        The file menu is used to open a new CDD file, merge a related CDD file (derived from the same design as the 
        currently opened CDD file, save the currently opened CDD file(s), close all opened CDD files, generate different 
        types of output and view the names of all currently opened CDD files.  Additionally, the user selects this menu 
        bar to exit the Covered report viewer GUI.  <xref linkend="figure.gui.main.filemenu"/> shows the file menu 
        contents within the main window.
      </para>
      <para>
        <figure id="figure.gui.main.filemenu">
          <title>The File Menu</title>
          <mediaobject><imageobject><imagedata fileref="img/file_menu.gif" format="GIF"/></imageobject></mediaobject>
        </figure>
      </para>
      
      <sect3 id="section.gui.main.filemenu.open">
        <title>Open/Merge CDDs...</title>
        <para>
          This menu option is used to either open a new CDD file or merge a related CDD file into the currently opened 
          CDD file(s).  This action needs to be performed before any coverage viewing can take place.  When this option 
          is selected, a standard file window is displayed allowing the user to select one (or possibly more depending on 
          your version of Tcl/Tk) CDD file to open or merge.  To select more than one CDD file with one call to this 
          option, simply press and hold the Control key while selecting files with the left mouse button.  If your version
          of Tcl/Tk supports this feature, you will see multiple files highlighted for selection; otherwise, only the last
          selected file will be selected.  If no CDD files currently are opened, any CDD file may be opened.  If one or
          more CDD files have been opened/merged, only CDD files generated from the same design may be merged.
        </para>
        <para>
          Note that this option has an accelerator keystroke &lt;Control-O&gt;.  Hitting this keystroke combination will 
          also open new CDD file(s).
        </para>
      </sect3>
      
      <sect3 id="section.gui.main.filemenu.view">
        <title>View Loaded CDD(s)...</title>
        <para>
          This menu option is only available after an initial CDD file has been opened using the <emphasis role="bold">Open/Merge 
          CDDs...</emphasis> file menu option.  When this menu option is selected, a new window displaying all currently opened CDD files 
          is displayed (see <xref linkend="section.gui.main.file.viewer"/> below).  If another CDD file is merged and this window is 
          currently displayed, it is automatically updated with the newly added file.  If the 
          <emphasis role="bold">Close CDDs...</emphasis> file menu option is selected while this window is opened, all filenames will be 
          automatically removed to indicate this.  The <emphasis role="bold">View Loaded CDD(s)...</emphasis> menu option is useful for 
          helping the user see exactly which files have been merged or not merged in the current viewer.  Simply click on the 
          <emphasis role="bold">Close</emphasis> button in the <emphasis role="bold">Loaded CDD file viewer</emphasis> window to close the 
          window.
        </para>
        <para>
          <figure id="section.gui.main.file.viewer">
            <title>The CDD Opened File Viewer</title>
            <mediaobject><imageobject><imagedata fileref="img/file_viewer.gif" format="GIF"/></imageobject></mediaobject>
          </figure>
        </para>
      </sect3>
      
      <sect3 id="section.gui.main.filemenu.save">
        <title>Save CDD...</title>
        <para>
          This menu option is only available after one or more CDD files have been opened/merged.  It is used to save the opened or merged 
          CDD files as a single, merged CDD file than can be viewed as a separate CDD file or can be merged with other CDD files.  It is 
          also used to save any changes that the user has made to exclude/include coverage cases within the GUI.  If you would like to 
          retain this information, please save the CDD file.  By default, the name of the first loaded CDD file is placed in the "Save As" 
          window when this option is selected. The user may choose to replace the old CDD file with the new one, or the user may save it 
          under a different name.  Once a CDD file has been saved, this option is deselected until either a new CDD file is merged or the 
          user changes the exclude/include property of any coverage case within the GUI.
        </para>
        <para>
          Note that this option has an accelerator keystroke &lt;Control-s&gt;.  Hitting this keystroke combination will also save the 
          current CDD.
        </para>
      </sect3>
      
      <sect3 id="section.gui.main.filemenu.close">
        <title>Close CDDs</title>
        <para>
          This menu option is used to close all opened/merged CDD files so that the user may view a different CDD file without needing to 
          exit and re-enter the GUI. The user may open and close as many times as needed without needing to reinvoke the GUI.  When CDD 
          files are closed, any opened coverage windows are automatically closed and all necessary GUI components are restored to their 
          original state as when the GUI is first invoked.  If the currently opened CDD file(s) have not been saved, a window (shown in 
          <xref linkend="figure.gui.main.close"/> below) is displayed to ask the user if they would like to save prior to closing.  To save 
          the CDD file, simply click "Yes" and a "Save As" window will prompt you for a location/name to save it as.  To close the CDD file 
          without saving, simply click "No".  To cancel the close operation, simply click <emphasis role="bold">Cancel</emphasis>.  To view 
          another CDD file after closing all CDD files, simply select the <emphasis role="bold">Open/Merge CDDs...</emphasis> file menu 
          option.
        </para>
        <para>
          Note that this option has an accelerator keystroke &lt;Control-w&gt;.  Hitting this keystroke combination will also close all 
          opened CDD files.
        </para>
        <para>
          <figure id="figure.gui.main.close">
            <title>The Close Warning Window</title>
            <mediaobject><imageobject><imagedata fileref="img/close_warn.gif" format="GIF"/></imageobject></mediaobject>
          </figure>
        </para>
      </sect3>
      
      <sect3 id="section.gui.main.filemenu.generate">
        <title>Generate</title>
        <para>
          This option, when selected, displays a submenu of items that can be generated by the GUI.  The following options (with 
          descriptions) are available (see <xref linkend="figure.gui.main.generate"/>).
        </para>
        <para>
          <figure id="figure.gui.main.generate">
            <title>The Generate Menu List</title>
            <mediaobject><imageobject><imagedata fileref="img/gen_menu.gif" format="GIF"/></imageobject></mediaobject>
          </figure>
        </para>
        <para>
          <itemizedlist>
            <listitem>
              <para>
                <emphasis role="bold">New CDD...</emphasis>
              </para>
              <para>
                Selecting this submenu option will cause Covered to allow for the creation of a new CDD file (note: this can be accomplished
                on the command-line with the "score" command).  When this option is selected, the new CDD creation wizard window is created.
                See <xref linkend="chapter.gui.new"/> for more information on the navigation of this window.
              </para>
              <para>
                Note that this option has an accelerator keystroke &lt;Control-n&gt;.  Hitting this keystroke combination will also cause
                the new CDD creation window to be displayed.
              </para>
            </listitem>
            <listitem>
              <para>
                <emphasis role="bold">ASCII Report...</emphasis>
              </para>
              <para>
                Selecting this submenu option will cause Covered to generate an ASCII version of the coverage report to a specified file 
                (note:  this can also be accomplished with the "report" command of Covered's command-line interface).  When this option is 
                selected, the ASCII report generation wizard window is created.  See <xref linkend="chapter.gui.genreport"/> for more 
                information on the navigation of this window.
              </para>
              <para>
                Note that this option has an accelerator keystroke &lt;Control-r&gt;. Hitting this keystroke combination will also cause 
                the ASCII report generator window to be displayed.
              </para>
            </listitem>
            <listitem>
              <para>
                <emphasis role="bold">CDD Ranking Report...</emphasis>
              </para>
              <para>
                Selecting this submenu option will cause Covered to generate a CDD ranking report to a specified file (note:  this can also
                be accomplished on the command-line with the "rank" command).  When this option is selected, the CDD ranking wizard window
                is created.  See <xref linkend="chapter.gui.rank"/> for more information on the navigation of this window.
              </para>
              <para>
                Note that this option has an accelerator keystroke &lt;Control-c&gt;. Hitting this keystroke combination will also cause
                the CDD ranking window to be displayed.
              </para>
            </listitem>
          </itemizedlist>
        </para>
      </sect3>
      
      <sect3 id="section.gui.main.filemenu.exit">
        <title>Exit</title>
        <para>
          This menu option will exit the entire GUI application, closing all opened windows created by this application.  Use this option 
          to exit the application.  If the currently opened CDD file(s) have not been saved, a window (shown in 
          <xref linkend="figure.gui.main.exit"/> below) is displayed to ask the user if they would like to save prior to exiting.  To save 
          the CDD file, simply click <emphasis role="bold">Yes</emphasis> and a "Save As" window will prompt you for a location/name to 
          save it as.  To close the CDD file without saving, simply click <emphasis role="bold">No</emphasis>.  To cancel the close 
          operation, simply click <emphasis role="bold">Cancel</emphasis>.
        </para>
        <para>
          Note that this option has an accelerator keystroke &lt;Control-x&gt; (or &lt;Command-Q&gt; on Mac OS X).  Hitting this keystroke 
          combination will also close the entire application.
        </para>
        <para>
          <figure id="figure.gui.main.exit">
            <title>The Exit Warning Window</title>
            <mediaobject><imageobject><imagedata fileref="img/exit_warn.gif" format="GIF"/></imageobject></mediaobject>
          </figure>
        </para>
      </sect3>
      
    </sect2>
    
    <sect2 id="section.gui.main.reportmenu">
      <title>The Report Menu</title>
      <para>
        The report menu allows the user to display the currently opened CDD file contents in a number of different ways for analyzing.  The 
        options specified in this menu closely imitate the options in the "report" command.  The type of report can be changed at any point 
        in time while a CDD is loaded.  When a report menu option is selected, Covered will automatically convert all information in the 
        GUI to represent this report type.  <xref linkend="figure.gui.main.report.menu"/> below shows the contents of the report menu.  Each 
        menu item is described below the figure.
      </para>
      <para>
        <figure id="figure.gui.main.report.menu">
          <title>The Report Menu</title>
          <mediaobject><imageobject><imagedata fileref="img/report_menu.gif" format="GIF"/></imageobject></mediaobject>
        </figure>
      </para>
      
      <sect3 id="section.gui.main.reportmenu.mod">
        <title>Module-Based</title>
        <para>
          When the diamond to the left of this option is selected, the generated report information will be in module-based representation.  
          A module-based report gathers all of the module instances that instantiate the same module and merges their results based on the 
          module name.  This is useful for understanding what logic in a module has been tested or untested without care to individual 
          instance contribution.  Selecting this report type (the default) will cause the <emphasis role="bold">Instance-based</emphasis> 
          menu option to be automatically deselected (the two report types are mutually exclusive).
        </para>
      </sect3>
      
      <sect3 id="section.gui.main.reportmenu.inst">
        <title>Instance-Based</title>
        <para>
          When the diamond to the left of this option is selected, the generated report information will be in instance-based 
          representation.  An instance-based report shows the coverage information for each module instance within the design.  This allows 
          the user to discern what logic is being covered in individual instances. Selecting this report type will cause the 
          <emphasis role="bold">Module-based</emphasis> menu option to be automatically deselected (the two report types are mutually 
          exclusive).
        </para>
      </sect3>
      
      <sect3 id="section.gui.main.reportmenu.line">
        <title>Line, Toggle, Memory, Logic, FSM, Assert</title>
        <para>
          These menu options are directly tied to the coverage metric select menubutton in the coverage bar (see 
          <xref linkend="section.gui.main.covbar"/>).  Changing the value in the menubutton will change the selection of this menu item
          and vice versa.  Only one of these menu items will be selected at a given time.
        </para>
      </sect3>
      
      
      <sect3 id="section.gui.main.reportmenu.uncov">
        <title>Show Uncovered</title>
        <para>
          When the square to the left of this option is selected (the default), all uncovered lines, toggles, logic, and FSM states/arcs 
          within the file viewer window will be highlighted for the user to quickly see what code was monitored by Covered but determined 
          to not be fully covered.  This option may be selected along with the <emphasis role="bold">Show Covered</emphasis> menu option to 
          see both covered and uncovered logic within the same file.
        </para>
      </sect3>
      
      <sect3 id="section.gui.main.reportmenu.cov">
        <title>Show Covered</title>
        <para>
          When the square to the left of this option is selected, all covered lines, toggles, logic, and FSM states/arcs within the file 
          viewer window will be highlighted for the user to quickly see what code was monitored by Covered and determined to be fully 
          covered.  This option is useful for the user of Covered to understand what logic was monitored during simulation.  This option 
          may be selected along with the <emphasis role="bold">Show Uncovered</emphasis> menu option to see both covered and uncovered 
          logic within the same file.
        </para>
      </sect3>
      
      <sect3 id="section.gui.main.reportmenu.race">
        <title>Show Race Conditions</title>
        <para>
          When the square to the left of this option is selected, all logic lines that were found to contain a potential race condition and 
          was, therefore, eliminated from coverage consideration by Covered will be highlighted by the colors as selected in the preference 
          menu.  This option is useful for the user of Covered to understand what logic was not considered for coverage information due to 
          a detected potential race condition situation.  Please see <xref linkend="chapter.race"/> for more information on what Covered looks for in 
          logic to consider it to be a possible race condition.
        </para>
      </sect3>
    </sect2>
    
    <sect2 id="section.gui.main.viewmenu">
      <title>The View Menu</title>
      <para>
      The View menu allows the user to select or change the current way the information in Covered is viewed.  
      <xref linkend="figure.gui.main.view.menu"/> shows the contents of the View menu.
      </para>
      <para>
        <figure id="figure.gui.main.view.menu">
          <title>The View Menu</title>
          <mediaobject><imageobject><imagedata fileref="img/view_menu.gif" format="GIF"/></imageobject></mediaobject>
        </figure>
      </para>
      
      <sect3 id="section.gui.main.viewmenu.next">
        <title>Next Uncovered</title>
        <para>
          Causes the line containing the next uncovered metric to be visible in the <link linkend="section.gui.main.viewer">file viewer</link>.  If the next uncovered 
          line is already visible, this menu item will have no visible effect.  The search for the next uncovered line starts at (a) the top of the module (when the 
          module is first displayed in the the Coverage Viewer), (b) from the last uncovered line searched for with the <emphasis role="bold">Next Uncovered</emphasis> or 
          <emphasis role="bold">Previous Uncovered</emphasis> calls, or (c) from the last currently selected line (only valid for toggle and combinational logic views).
        </para>
        <para>
          This menu item is only enabled when another uncovered line exists after the current uncovered line.  It can also be accessed with the accelerator keystroke 
          &lt;Control-n&gt; or the right arrow button in the Main Window.
        </para>
      </sect3>
      
      <sect3 id="section.gui.main.viewmenu.prev">
        <title>Previous Uncovered</title>
        <para>
          Causes the line containing the previous uncovered metric to be visible in the <link linkend="section.gui.main.viewer">file viewer</link>.  If the previous 
          uncovered line is already visible, this menu item will have no visible effect.  The search for the previous uncovered line starts at (a) the top of the 
          module (when the module is first displayed in the the Coverage Viewer), (b) from the last uncovered line  searched for with the 
          <emphasis role="bold">Next Uncovered</emphasis> or <emphasis role="bold">Previous Uncovered</emphasis> calls, or (c) from  the last currently selected line 
          (only valid for toggle and combinational logic views).
        </para>
        <para>
          This menu item is only enabled when another uncovered line exists before the current uncovered line.  It can also be accessed with the accelerator keystroke 
          &lt;Control-p&gt; or the left arrow button in the Main Window.
        </para>
      </sect3>
      
      <sect3 id="section.gui.main.viewmenu.current">
        <title>Show Current Selection</title>
        <para>
          This menu item is only available if the current metric mode is not "Line", the  user has clicked on an uncovered segment of code, and the associated 
          <link linkend="chapter.gui.toggle">toggle</link>, <link linkend="chapter.gui.memory">memory</link>, <link linkend="chapter.gui.logic">logic</link>, 
          <link linkend="chapter.gui.fsm">FSM</link> or <link linkend="chapter.gui.assert">assertion</link> verbose window exists.  The currently selected line is 
          visually identified in the <link linkend="section.gui.main.viewer">file viewer</link> area on the left-hand side of the line containing the uncovered 
          code. If this line is not currently visible in the Coverage Viewer, selecting this menu item will cause it to be visible.
        </para>
        <para>
          An accelerator keystroke &lt;Control-c&gt; will also invoke this menu item.
        </para>
      </sect3>
      
      <sect3 id="section.gui.main.viewmenu.wizard">
        <title>Wizard...</title>
        <para>
          Displays the Covered wizard window which normally opens upon starting the Covered GUI.  The Wizard window allows the user to easily create a new CDD file, open/
          merge existing CDD files, rank existing CDD files and get user documentation. See <xref linkend="chapter.gui.wizard"/> for more information.
        </para>
      </sect3>
      
      <sect3 id="section.gui.main.viewmenu.preferences">
        <title>Preferences...</title>
        <para>
          Causes the <link linkend="chapter.gui.preferences">preferences window</link> to be created if it currently does not exist or forces it into the foreground 
          if it does exist.
        </para>
        <note>
          <para>
            On Mac OS X, this menu item does not exist in the "Report Menu" but rather in the Covered application menu to remain consistent with the Mac OS X 
            environment.
          </para>
        </note>
      </sect3>
    </sect2>
    
    <sect2 id="section.gui.main.helpmenu">
      <title>The Help Menu</title>
      <para>
        The help menu contains all of the user documentation for Covered. Additionally, information regarding the version of Covered used and other contact information for 
        application problems, suggestions, etc. can be found in this menu.
      </para>
      <para>
        <figure id="figure.gui.main.help.menu">
          <title>The Help Menu</title>
          <mediaobject><imageobject><imagedata fileref="img/help_menu.gif" format="GIF"/></imageobject></mediaobject>
        </figure>
      </para>
      
      <sect3 id="section.gui.main.helpmenu.manual">
        <title>Manual</title>
        <para>
          Selecting this menu item causes Covered to display the user manual in a web browser.
        </para>
      </sect3>
      
      <sect3 id="section.gui.main.helpmenu.about">
        <title>About Covered</title>
        <para>
          Selecting this menu item causes Covered to bring up a window showing the current release number, developer contact information and credits.
        </para>
        <note>
          <para>
            On Mac OS X, this menu item does not exist in the Help Menu but rather in the application's menu to remain consistent with the Mac OS X environment.
          </para>
        </note>
      </sect3>      
    </sect2>    
  </sect1>
  
  <sect1 id="section.gui.main.covbar">
    <title>The Coverage Type View Bar</title>
    <para>
      <xref linkend="figure.gui.main.covbar"/> shows the location of the coverage type view bar.  The bar contains two selection buttons.  The selection 
      button on the left side of the bar shows the currently selected coverage metric.  There are six main types of coverage metrics that Covered can 
      provide:  line, toggle, memory, logic (combinational logic), FSM (state and arc) and assert (assertion coverage).  When the Covered GUI is first 
      invoked, the line coverage metric is the default mode.  To view a different metric, simply left click, select the desired coverage metric, and left 
      click again.  Doing so will automatically set the selection indicator to the new mode and display the new metric information in the 
      <link linkend="section.gui.main.listbox">Module/Instance listbox</link> and <link linkend="section.gui.main.viewer">file viewer</link>.
    </para>
    <para>
      The selection button on the right side of the bar shows the current coverage accumulation mode:  module or instance.  Module coverage takes all of the
      similar module instances and merges their coverages.  Instance coverage displays each module instance individually.  To select a different value than
      the one displayed, simply left click the selection button, highlight the desired value and left click again.  This will repopulate the
      <link linkend="section.gui.main.listbox">Module/Instance lisbox</link> and clear the <link linkend="section.gui.main.viewer">file viewer</link>.
    </para>
    <para>
      <figure id="figure.gui.main.covbar">
        <title>Covered Main Coverage Type View Bar</title>
        <mediaobject><imageobject><imagedata fileref="img/main_cov.gif" format="GIF"/></imageobject></mediaobject>
      </figure>
    </para>
  </sect1>
  
  <sect1 id="section.gui.main.listbox">
    <title>The Module/Instance Listbox</title>
    <para>
      After a CDD file has been opened in the GUI, the module/instance selection box (shown in 
      <xref linkend="figure.gui.main.listbox"/> below) will contain either a list of all of the modules within the 
      specified design or a list of all of the instances within the design, based on the type of report selected in the 
      <link linkend="section.gui.main.reportmenu">report</link> menu.  Left-clicking on a module/instance name within this box will 
      cause that file to be output in the <link linkend="section.gui.main.viewer">file viewer</link> to the right of the selection box.
    </para>
    <para>
      In addition to the names of the modules or instances of the design, each line also contains a summary view of the 
      coverage for the currently selected metric for each module or instance.  The summary coverage information includes 
      the number of hits, number of misses, total number and hit percentage.  Each column in the table can be resized by 
      clicking on the separator bar between the column headers and sliding the column to the left or to the right.  
      Additionally, columns may be hidden or shown in the module/instance selection box by clicking on the button at the 
      right-hand side of the column header bar (and above the vertical scrollbar).  When this button is left-clicked, a 
      popup menu will be displayed showing which columns are currently shown (a check to the left of the column name) and 
      which are hidden (no check).  To change the display for a particular column, simply click on the column name in the 
      popup window.  This will cause the associated column to be hidden or shown and will close the popup window.  If the 
      popup window is displayed and the user does not wish to change the display values of any of the shown columns, 
      simply click anywhere on the screen but on the popup window.  This will cause the popup window to disappear and no 
      column display values will be changed.
    </para>
    <para>
      Depending on the selected coverage metric (specified in the <link linkend="section.gui.main.covbar">coverage bar</link>) and the 
      coverage results for each module/instance, a module/ instance item will be highlighted in the uncovered logic color 
      if the corresponding module/instance was found to have uncovered logic within that module/instance.  If the 
      specified module/instance was found to be fully covered for the currently selected metric, it will be highlighted 
      with the selected covered logic color.  This can help the user quickly identify modules/instances that contain 
      uncovered logic cases.  Note that when a different coverage metric is selected, the highlights will be recalculated 
      for that metric.  Additionally, the currently selected module/instance will be displayed in a darker version of the 
      covered/uncovered color.
    </para>
    <para>
      <figure id="figure.gui.main.listbox">
        <title>Populated Module/Instance Selection Box</title>
        <mediaobject><imageobject><imagedata fileref="img/populated_lb.gif" format="GIF"/></imageobject></mediaobject>
      </figure>
    </para>
  </sect1>
  
  <sect1 id="section.gui.main.viewer">
    <title>The Coverage File Viewer</title>
    <para>
      <xref linkend="figure.gui.main.viewer"/> shows the area of the main window where the coverage file viewer window is 
      located.
    </para>
    <para>
      <figure id="figure.gui.main.viewer">
        <title>Covered Main Coverage File Viewer</title>
        <mediaobject><imageobject><imagedata fileref="img/main_viewer.gif" format="GIF"/></imageobject></mediaobject>
      </figure>
    </para>
    <para>
      The coverage file viewer shows the currently selected module (indicated in the 
      <link linkend="section.gui.main.infobar">information bar</link>) Verilog source.  The coverage file viewer provides a read-only view of the 
      original source code so all editing of the file must be done in a separate editor.  Each source code line in the 
      viewer window is numbered to the left of the line to aid in debugging and finding the lines in an editor.
    </para>
    <para>
      Depending on the coverage metric currently selected in the <link linkend="section.gui.main.covbar">coverage bar</link> and the 
      covered/uncovered/race condition selections in the <link linkend="section.gui.main.reportmenu">report menu</link>, the lines that are 
      found to be uncovered, covered, and/or considered a race condition are highlighted in their respective color 
      schemes in the coverage file viewer window.  Using the scrollbars to the right and below the coverage file viewer, 
      the user can find the missed/hit lines quickly for further analysis.
    </para>
    <para>
      The coverage file viewer is the place where the user can invoke the toggle, memory,combinational logic, FSM and/or 
      assertion detail windows.  To view one of these windows, do the following:
    </para>
    <para>
      <orderedlist>
        <listitem>
          <para>
            Select either the <emphasis role="bold">Toggle</emphasis>, <emphasis role="bold">Memory</emphasis>, 
            <emphasis role="bold">Logic</emphasis>, <emphasis role="bold">FSM</emphasis> or 
            <emphasis role="bold">Assert</emphasis> coverage metric selection button in the 
            <link linkend="section.gui.main.covbar">coverage bar</link>.
          </para>
        </listitem>
        <listitem>
          <para>
            Select a module/instance that contains uncovered code in the <link linkend="section.gui.main.listbox">listbox</link>.
          </para>
        </listitem>
        <listitem>
          <para>
            In the coverage file viewer, find code that is highlighted as being uncovered.
          </para>
        </listitem>
        <listitem>
          <para>
            Left click on the uncovered piece of logic.  Doing so will automatically bring up either the 
            <link linkend="chapter.gui.toggle">toggle</link>, the <link linkend="chapter.gui.memory">memory</link>, the 
            <link linkend="chapter.gui.logic">logic</link>, the <link linkend="chapter.gui.fsm">FSM</link> or the 
            <link linkend="chapter.gui.assert">assertion</link> verbose coverage windows.
          </para>
        </listitem>
      </orderedlist>
    </para>
    <para>
      Additionally, the logical blocks that have been disregarded by Covered due to a potential race condition existing 
      are highlighted.  By placing the cursor over one of these logical blocks, the reason for why the logical block was 
      disregarded is output in the <link linkend="section.gui.main.infobar">information bar</link>.
    </para>
    <para>
      To view a new module/instance, simply left click on one in the Module/Instance Listbox. The source code for the 
      selected module/instance will be immediately loaded into the coverage file viewer in the currently selected 
      coverage metric.
    </para>
    <para>
      To view a new coverage metric, simply left click on one of the coverage metrics in the Coverage Type Bar.  The 
      currently selected module/instance will be immediately updated in the coverage file viewer, highlighting the 
      uncovered/covered code for the current metric.
    </para>
    
    <sect2 id="section.gui.main.viewer.search.uncov">
      <title>Searching for an Uncovered Line in the Coverage Viewer</title>
      <para>
        To find the next or previous line containing uncovered logic for the current metric mode, click the 
        left arrow (Previous) or right arrow (Next) buttons.  Doing so will cause the next or previous uncovered line to 
        be visible in the Coverage File Viewer.  Clicking these buttons has the same effect as the "Next Uncovered" or 
        "Previous Uncovered" menu items in the <link linkend="section.gui.main.viewmenu">view menu</link>.
      </para>
    </sect2>
    
    <sect2 id="section.gui.main.viewer.search.string">
      <title>Searching for a String in the Coverage Viewer</title>
      <para>
        The Coverage Viewer contains a find (magnifying lens) button, an entry field, and a 
        clear (X) button for performing text searches in the Coverage File Viewer.  The user 
        may type in any string (wildcards and pattern matching is not supported) in the entry field. Hitting the "return" 
        key or the find button will cause the string search to commence.
      </para>
      <para>
        If a match to the search value is found, it is made visible in the Coverage File Viewer and highlighted.  The 
        user may search on the value again by clicking the find button.  To clear the current value in the entry field, click 
        on the clear button.  If a match occurs, the specified value in the entry field will remain until either a new value 
        is entered or the clear button is clicked.  If a match was not found for the given string, a message window will 
        pop-up specifying that the given string was not found.  Clicking the <emphasis role="bold">OK</emphasis> button will 
        cause this message window to close and the entry field will automatically be cleared.
      </para>
    </sect2>
  </sect1>
  
  <sect1 id="section.gui.main.infobar">
    <title>The Information Bar</title>
    <para>
      The information bar at the bottom of each window in the report viewer provides information about the current mode, 
      file, or operation the user should take next. All information is state and context sensitive.  If you are in doubt 
      of what to do next, first see the information bar.
    </para>
    <para>
      <figure id="figure.gui.main.infobar">
        <title>Covered Main Information Bar</title>
        <mediaobject><imageobject><imagedata fileref="img/main_info.gif" format="GIF"/></imageobject></mediaobject>
      </figure>
    </para>
  </sect1>
  
</chapter>