Chapter 17. Navigating the Main Window
| Part IV. Graphical User Interface |

## Chapter 17. Navigating the Main Window

Figure 17.1, “Covered 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):

1. The menu bar

2. The coverage type bar

3. The module/instance summary listbox

4. The coverage file viewer

5. The information bar

Figure 17.1. Covered Main Window

## 17.1. The Main Menu Bar

The Main Menu Bar consists of four menus at the top of the main window. Figure 17.2, “Covered Main Window Highlighting the Menu Bar” below shows the menu bar portion of the GUI bordered in red. These menus are the following:

1. File - Creates, opens, merges, saves and closes CDD files, generates reports, and exits the application.

2. Report - Specifies what type of report to show.

3. View - Provides additional viewing options.

4. Help - Provides access to online help manual and tool information.

Figure 17.2. Covered Main Window Highlighting the Menu Bar

| Note
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.

### The File Menu

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. Figure 17.3, “The File Menu” shows the file menu contents within the main window.

Figure 17.3. The File Menu

#### Open/Merge CDDs...

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.

Note that this option has an accelerator keystroke <Control-O>. Hitting this keystroke combination will also open new CDD file(s).

#### View Loaded CDD(s)...

This menu option is only available after an initial CDD file has been opened using the Open/Merge CDDs... file menu option. When this menu option is selected, a new window displaying all currently opened CDD files is displayed (see Figure 17.4, “The CDD Opened 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 Close CDDs... file menu option is selected while this window is opened, all filenames will be automatically removed to indicate this. The View Loaded CDD(s)... 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 Close button in the Loaded CDD file viewer window to close the window.

Figure 17.4. The CDD Opened File Viewer

#### Save CDD...

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.

Note that this option has an accelerator keystroke <Control-s>. Hitting this keystroke combination will also save the current CDD.

#### Close CDDs

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 Figure 17.5, “The Close Warning Window” 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 Cancel. To view another CDD file after closing all CDD files, simply select the Open/Merge CDDs... file menu option.

Note that this option has an accelerator keystroke <Control-w>. Hitting this keystroke combination will also close all opened CDD files.

Figure 17.5. The Close Warning Window

#### Generate

This option, when selected, displays a submenu of items that can be generated by the GUI. The following options (with descriptions) are available (see Figure 17.6, “The Generate Menu List”).

Figure 17.6. The Generate Menu List

- New CDD...

  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 Chapter 25, Creating a New CDD for more information on the navigation of this window.

  Note that this option has an accelerator keystroke <Control-n>. Hitting this keystroke combination will also cause the new CDD creation window to be displayed.

- ASCII Report...

  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 Chapter 26, Creating an ASCII report file for more information on the navigation of this window.

  Note that this option has an accelerator keystroke <Control-r>. Hitting this keystroke combination will also cause the ASCII report generator window to be displayed.

- CDD Ranking Report...

  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 Chapter 27, Creating a CDD Ranking Report for more information on the navigation of this window.

  Note that this option has an accelerator keystroke <Control-c>. Hitting this keystroke combination will also cause the CDD ranking window to be displayed.

#### Exit

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 Figure 17.7, “The Exit Warning Window” below) is displayed to ask the user if they would like to save prior to exiting. 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 Cancel.

Note that this option has an accelerator keystroke <Control-x> (or <Command-Q> on Mac OS X). Hitting this keystroke combination will also close the entire application.

Figure 17.7. The Exit Warning Window

### The Report Menu

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. Figure 17.8, “The Report Menu” below shows the contents of the report menu. Each menu item is described below the figure.

Figure 17.8. The Report Menu

#### Module-Based

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 Instance-based menu option to be automatically deselected (the two report types are mutually exclusive).

#### Instance-Based

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 Module-based menu option to be automatically deselected (the two report types are mutually exclusive).

#### Line, Toggle, Memory, Logic, FSM, Assert

These menu options are directly tied to the coverage metric select menubutton in the coverage bar (see Section 17.2, “The Coverage Type View Bar”). 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.

#### Show Uncovered

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 Show Covered menu option to see both covered and uncovered logic within the same file.

#### Show Covered

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 Show Uncovered menu option to see both covered and uncovered logic within the same file.

#### Show Race Conditions

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 Chapter 4, Race Condition Checking for more information on what Covered looks for in logic to consider it to be a possible race condition.

### The View Menu

The View menu allows the user to select or change the current way the information in Covered is viewed. Figure 17.9, “The View Menu” shows the contents of the View menu.

Figure 17.9. The View Menu

#### Next Uncovered

Causes the line containing the next uncovered metric to be visible in the file viewer. 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 Next Uncovered or Previous Uncovered calls, or (c) from the last currently selected line (only valid for toggle and combinational logic views).

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 <Control-n> or the right arrow button in the Main Window.

#### Previous Uncovered

Causes the line containing the previous uncovered metric to be visible in the file viewer. 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 Next Uncovered or Previous Uncovered calls, or (c) from the last currently selected line (only valid for toggle and combinational logic views).

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 <Control-p> or the left arrow button in the Main Window.

#### Show Current Selection

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 toggle, memory, logic, FSM or assertion verbose window exists. The currently selected line is visually identified in the file viewer 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.

An accelerator keystroke <Control-c> will also invoke this menu item.

#### Wizard...

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 Chapter 30, Navigating the Wizard Window for more information.

#### Preferences...

Causes the preferences window to be created if it currently does not exist or forces it into the foreground if it does exist.

| Note
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.

### The Help Menu

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.

Figure 17.10. The Help Menu

#### Manual

Selecting this menu item causes Covered to display the user manual in a web browser.

#### About Covered

Selecting this menu item causes Covered to bring up a window showing the current release number, developer contact information and credits.

| Note
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.

## 17.2. The Coverage Type View Bar

Figure 17.11, “Covered Main Coverage Type View Bar” 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 Module/Instance listbox and file viewer.

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 Module/Instance lisbox and clear the file viewer.

Figure 17.11. Covered Main Coverage Type View Bar

## 17.3. The Module/Instance Listbox

After a CDD file has been opened in the GUI, the module/instance selection box (shown in Figure 17.12, “Populated Module/Instance Selection Box” 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 report menu. Left-clicking on a module/instance name within this box will cause that file to be output in the file viewer to the right of the selection box.

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.

Depending on the selected coverage metric (specified in the coverage bar) 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.

Figure 17.12. Populated Module/Instance Selection Box

## 17.4. The Coverage File Viewer

Figure 17.13, “Covered Main Coverage File Viewer” shows the area of the main window where the coverage file viewer window is located.

Figure 17.13. Covered Main Coverage File Viewer

The coverage file viewer shows the currently selected module (indicated in the information bar) 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.

Depending on the coverage metric currently selected in the coverage bar and the covered/uncovered/race condition selections in the report menu, 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.

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:

1. Select either the Toggle, Memory, Logic, FSM or Assert coverage metric selection button in the coverage bar.

2. Select a module/instance that contains uncovered code in the listbox.

3. In the coverage file viewer, find code that is highlighted as being uncovered.

4. Left click on the uncovered piece of logic. Doing so will automatically bring up either the toggle, the memory, the logic, the FSM or the assertion verbose coverage windows.

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 information bar.

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.

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.

### Searching for an Uncovered Line in the Coverage Viewer

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 view menu.

### Searching for a String in the Coverage Viewer

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.

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 OK button will cause this message window to close and the entry field will automatically be cleared.

## 17.5. The Information Bar

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.

Figure 17.14. Covered Main Information Bar

Chapter 16. Introduction to the GUI |  | Chapter 18. Navigating the Line Coverage Window