Chapter 28. Navigating the Preferences Window
| Part IV. Graphical User Interface |

## Chapter 28. Navigating the Preferences Window

The preferences window allows the user to adjust the view of some of the GUI elements for the purpose of more easily analyzing coverage information for a specific user. Figure 28.1, “Main Preferences Window” shows the preferences window that is created when the user selects the `View > Preferences...` menu option from the main window.

Figure 28.1. Main Preferences Window

## 28.1. Option Categories

On the left side of the preferences window is a list of option categories that can be modified. Selecting any one of the items in the listbox will display the modifiable options to the frame to the right of the listbox. The following option categories exist:

- Section 28.4, “Preferences General Pane”

- Section 28.5, “Preferences Color Pane”

- Section 28.6, “Preference Coverage Goals Pane”

- Section 28.7, “Preferences Syntax Highlighting Pane”

- Section 28.8, “Preferences Exclusion Pane”

- Section 28.9, “Preference Merging Pane”

## 28.2. Preference Buttons

### Apply Button

Clicking on the Apply button will cause the currently selected preference options to be immediately updated in Covered but will not update the preference option values in the .coveredrc file. This has the effect of changing the preferences for the current application only. Clicking on this button will not close the Preferences window.

### OK Button

Clicking on the OK button will cause the currently selected preference options to be immediately updated in Covered and will update the .coveredrc file with the new values. This also causes the Preferences window to close.

### Cancel Button

Clicking on the Cancel button will cause the the Preferences window to close without updating Covered with the currently selected values and without updating the .coveredrc file.

### Help (?) Button

Clicking on the help (?) button will cause the help page for the currently selected'Option Category' to be displayed.

## 28.3. Preferences Configuration File

User preferences are loaded from the ".coveredrc" file that is searched for in the following order:

1. Current directory that the 'covered report -view' command was executed from.

2. The user's home directory.

3. The installation directory (by default this is /usr/local/share/covered).

If user preferences are changed in this window and the OK button is pressed, the settings are immediately saved back to a configuration file and the GUI is immediately updated to reflect the new user changes. If the Cancel button is pressed, all changes are thrown away and the configuration file remains unchanged. The location of the stored configuration file depends on which configuration file location was initially loaded. The following table describes this correlation.

Table 28.1. Location of Written .coveredrc File According to the Location of Read .coveredrc File

Loaded config file location | Stored config file location
--- | ---
Current directory | Current directory
Home directory | Home directory
Install directory | Current directory
None found | Current directory

## 28.4. Preferences General Pane

The general preferences pane allows the user to control Covered's settings that are not specific to an individual task. The following subsections describe the controls available within this pane.

### Show wizard window on startup

This checkbutton selects if Covered's wizard popup window will be displayed upon starting Covered. Simply check this button if you would like to see the wizard at the beginning of each startup or uncheck it to cause the wizard window to not be displayed on startup. On the wizard window itself, there is an option to change this behavior as well.

Note that you can always display the wizard window by selecting its menu option in the view menu.

### Save state of GUI when exiting the application

This checkbutton determines if certain GUI element (i.e., window placement/sizing, module/instance listbox column arrangement/width/state, etc.) information is saved when the GUI exits. If this checkbutton is selected, the state is saved to the configuration file on application exit and will be used when the application is started. If the checkbutton is deselected, the state will not be saved and the default GUI element behaviors will be used.

This setting allows the user to setup the various GUI elements to their liking and retains this information whenever the application is restarted, saving the user the hassle of getting the environment setup again.

| Note
While the application is being used, any GUI state information will be remembered for the duration of the application run, regardless of the setting of this preference item.

### Show tooltips

This checkbutton specifies if GUI widget tooltips should be displayed if the user hovers the cursor over a GUI element that has a tooltip associated with it. To disable tooltips from being used, uncheck this option and click either the Apply or OK buttons.

## 28.5. Preferences Color Pane

The color preference pane allows the user to adjust the foreground and background colors for all code that is considered covered, uncovered, or in a race condition state.

### Set Highlight Color

This frame contains six buttons that affect the foreground and background colors used to highlight code in the file viewer portion of the main window. The currently selected foreground/background colors are displayed to the left of the corresponding buttons to allow the user to see the selections prior to committing to them by clicking the Apply or OK buttons at the bottom of the Preferences window.

The "F" button controls the foreground color while the "B" button controls the background color. Clicking one of these buttons will bring up a color selection window that you can use to modify the current color to one of your choosing.

## 28.6. Preference Coverage Goals Pane

The coverage goals preference pane allows the user to change the acceptable coverage goals for each coverage metric.

Figure 28.2. Coverage Goals Window

### Set Acceptable Coverage Goals Frame

This frame contains four spinner boxes that contains values between 0 and 100. These values correspond to a coverage percentage for each coverage metric that the user deems to be "good enough". These values are used by the listbox to help visually identify modules/instances that are meeting or exceeding these goals and which modules are not meeting these goals. If a coverage percentage for a module/instance is less than this value, the module is colored red. If the coverage percentage is greater than or equal to this value, the module/instance is colored yellow (or green which indicates that the module/instance reached 100% coverage for a given metric).

To increase the specified percentage value, simply click on the "Up" button to the right of the percentage until the desired value is displayed. To decrease the specified percentage value, simply click on the "down" button to the right of the percentage until the desired value is displayed.

- Line Coverage %

  Sets the coverage goal of line coverage to the specified percentage to the right. If line coverage for a given module/instance meets or exceeds this percentage value, it will be displayed yellow in the Module/Instance listbox on the Main window.

- Toggle Coverage %

  Sets the coverage goal of toggle coverage to the specified percentage to the right. If toggle coverage for a given module/instance meets or exceeds this percentage value, it will be displayed yellow in the Module/Instance listbox on the Main window.

- Memory Coverage %

  Sets the coverage goal of memory coverage to the specified percentage to the right. If memory coverage for a given module/instance meets or exceeds this percentage value, it will be displayed yellow in the Module/Instance listbox on the Main window.

- Combinational Logic Coverage %

  Sets the coverage goal of combinational coverage to the specified percentage to the right. If combinational logic coverage for a given module/instance meets or exceeds this percentage value, it will be displayed yellow in the Module/Instance listbox on the Main window.

- FSM State/Arc Coverage %

  Sets the coverage goal of FSM state/arc coverage to the specified percentage to the right. If FSM state/arc coverage for a given module/instance meets or exceeds this percentage value, it will be displayed yellow in the Module/Instance listbox on the Main window.

- Assertion Coverage %

  Sets the coverage goal of assertion coverage to the specified percentage to the right. If assertion coverage for a given module/instance meets or exceeds this percentage value, it will be displayed yellow in the Module/Instance listbox on the Main window.

## 28.7. Preferences Syntax Highlighting Pane

The syntax highlighting preferences pane allows the user to adjust the syntax highlighting mode and colors for any displayed Verilog source code.

Figure 28.3. Syntax Highlighting Preferences Pane

### Set Syntax Highlighting Options

This frame allows the user to specify if syntax highlighting should be performed in all Verilog source viewers or not. When the square to the left of the Turn on syntax highlighting mode is selected, syntax highlighting will occur; otherwise, it will not perform syntax highlighting. The various colored buttons below the selection mode allow the user to select the foreground color of the text associated with its specified syntax type (Comments, Preprocessor Keywords, Verilog Keywords, Strings, Constant Values, and Operation Symbols). Simply click on one of the buttons to change its color. Doing so will cause a color selection window (see Figure 28.3, “Syntax Highlighting Preferences Pane” above) to be displayed.

If the syntax highlighting mode is disabled by the user, the color selection buttons will be disabled.

## 28.8. Preferences Exclusion Pane

The exclude preferences pane allows the user to control whether or not the coverage exclusion reason window automatically pops up when a coverage point is excluded, and it allows the user to create some general purpose exclusion reasons. The reasons created in this pane can be selected in the exclusion reason window's drop-down table and can help to expedite the exclusion process when many coverage points are being excluded for the same reason. Figure 28.4, “Exclusion Preferences Pane” shows the layout of this preference pane.

Figure 28.4. Exclusion Preferences Pane

### Enable exclusion reason support when items are excluded

If this option is enabled, whenever the user clicks on a coverage point to cause it to be excluded from coverage, a popup window will be displayed, allowing for an exclusion message to be associated with the excluded coverage point.

If this option is not enabled, the coverage point will still be excluded but no exclusion message will be associated with it.

| Note
If a coverage point was excluded and is selected to be included and the coverage point had an exclusion message associated with it, the exclusion message will be forgotten/deleted.

### Create General Exclusion Reasons

This frame allows the user to add/delete general purpose exclusion reasons that can be selected from within the exclusion reason popup window's drop-down table. Having these reasons specified can help to speed up coverage point exclusion when multiple coverage points need to be excluded for the same reason.

To add a new general purpose exclusion reason, simply type in the general purpose exclusion reason in the bottom textbox (note that any formatting characters such as newlines, tabs, extra spaces will be removed from the exclusion message) and click the "+" button. You will see the exclusion reason get added to the table when this occurs. Note that the "+" button will only be enabled when you have entered at least one character in the textbox.

To remove a general purpose exclusion reason from the table, simply click on the reason in the table and click the "-" button. Note that the "-" button will only be enabled once an entry has been selected in the table.

To help find an exclusion reason more easily within the exclusion reason popup window, you may also rearrange the order of the exclusions within the table by simply clicking on an entry and dragging it to the desired location. The order of the exclusion reasons specified in this table will be the initial order of the exclusion reasons in the popup window.

## 28.9. Preference Merging Pane

The merging pane is needed to specify to Covered how to resolve conflicts that are found when merging CDD files. Although coverage points and exclusions are simply merged (ORed) together, things such as exclusion reasons can exist for the same coverage point but contain different information. When two exclusion reasons are given for the same coverage point, Covered must decide how to resolve this information and this preference pane allows the user to set what this behavior will be.

Figure 28.5. Merging Preferences Pane

### Exclusion Reason Conflict Resolution Frame

This frame allows the user to specify the way in which exclusion reason conflicts should be resolved. The following options are provided:

- Use the first reason

  Specifies if two or more exclusion reasons are found for the same coverage point, Covered should use the exclusion reason found in the first CDD file merged. The rest of the exclusion reasons are thrown away.

- Use the last reason

  Specifies if two or more exclusion reasons are found for the same coverage point, Covered should use the exclusion reason found in the last CDD file merged. The rest of the exclusion reasons are thrown away.

- Use the newest reason

  Specifies if two or more exclusion reasons are found for the same coverage point, Covered should use the newest exclusion reason (when an exclusion is created, a timestamp is saved along with the coverage reason). The rest of the exclusion reasons are thrown away.

- Use the oldest reason

  Specifies if two or more exclusion reasons are found for the same coverage point, Covered should use the oldest exclusion reason. The rest of the exclusion reasons are thrown away.

- Merge all reasons

  Specifies if two or more exclusion reasons are found for the same coverage point, Covered should merge all of them. No information is lost in this case.

Chapter 27. Creating a CDD Ranking Report |  | Chapter 29. The Exclusion Reason Popup Window