Skip to content

User Guide

Jeff Bush edited this page Feb 14, 2019 · 14 revisions

User Guide

Overview

The main view looks like this. On the left are names of currently visible nets. The blue text under each net displays the value of the signal at the cursor position. The cursor is a vertical red line. Clicking anywhere in the waveform area will move the cursor to that position.

empty

Opening a file

It can also be opened by selecting the file menu and clicking 'open'. View settings for an open file are stored in a hidden file called ..traceconfig.

Managing which nets are visible

When you open a file, the view will initially be blank.

empty

You can bring up a pane to show available signals by clicking the signal toolbar button ( search ). A pane will be displayed on the left.There are two tabs at the top of the window. The first selects a tree view, which gives a hierarchical view of the design. Each part of the hierarchy can be opened.
search pane

If you want to make signals visible, simply drag them to to the view area on the left. Note that you can select multiple items by holding down alt/command and clicking. If you drag a parent node of the hierarchy, all children will be dragged as well.

signals added

You can also select the search tab. If you type into the blank, the list will be pared down to show only signals that match some part of the string:

search view

These can be dragged as with the other view.

To remove signals from the view, right click and select the delete item todo: add ability to remove by dragging

Net sets

Often there are certain groups of signals that are useful to have when debugging certain areas. If you have a set of signals visible that you'd like to recall later, click on the 'net' menu and select 'save net set'. You will be prompted to enter a name of a set.

search pane

Once you have saved the set of signals, the name of the net set you have produced will appear in the 'net' menu. If you click this item, the order and visibility of signals will be restored.

search pane

Markers

If there is a specific time you'd like to tag, move the cursor to that time by clicking on the waveform, then go to the marker menu and click 'add marker'. You will be prompted to enter a description.

search pane

The marker will then be visible as a dotted line:

search pane

You can view a list of all markers by selecting 'show marker list' from the marker menu. Double clicking one in the marker list will automatically snap the waveform view to that timestamp.

search pane

Data Formats

You can change the format of the data that is displayed in the waveform and under each net name by right clicking the net name and selecting the format sub-menu.

search pane

The enum option allows setting special text for each value. This is useful for signals that represent states in a finite state machine. When you select this option, a file dialog will open prompting for a file that contains the mapping. This file contains one mapping per line, with each having a combination of a value and name. For example:

0 STATE_IDLE
1 STATE_LOAD
2 STATE_WAIT 

search pane

Searching

You can search for a specific logic condition by selecting Edit->Find.

  • In the case where a signal is ambiguous, use a longer full dotted path hierarchy in the find expression. For example, 'mod1.clk' rather than just 'clk'

  • You can compare values using operators >, >=, <, <=, =, or <>. You can compare two nets or a net to a constant. Using a net name by itself will evaluate to true if the value is non-zero.

  • Numbers bases can be decimal ('d), hexadecimal ('h), octal ('o), or binary ('b). Numbers without a prefix default to decimal.

  • You can combine conditionals with 'and', 'or', and parentheses. For example:

      mod1.read_en and (mod1.read_addr = 'h1000 or mod1.read_addr = 'h1004)