VHDL Watches
The following content has been imported from Legacy Help systems and is in the process of being checked for accuracy.
Function
The VHDL Watches panel enables you to create and display a list of watch expressions, allowing you to keep track of signal values as you single-step debug the VHDL source code of your FPGA project.
Content and Use
For each watch that is added, the panel lists the following information:
- Name - the name of the signal to be watched, as defined in the source code
- Type - the type of signal (e.g. std_logic, std_logic_vector)
- Value - the current value assigned to the signal
- Last Value - the previous value assigned to the signal.
A small icon to the left of the signal name is used to indicate the watch status for the signal - enabled or disabled - and also whether or not the waveform for the signal is added to the Waveform Analysis window:
- | Watch is enabled and the waveform for the signal will be displayed in the Waveform Analysis window | |
- | Watch is enabled, but the waveform for the signal will not be displayed in the Waveform Analysis window | |
- | Watch is disabled, but the waveform for the signal will be displayed in the Waveform Analysis window | |
- | Watch is disabled and the waveform for the signal will not be displayed in the Waveform Analysis window |
As you step through the lines of code in the source VHDL documents (*.VHD, *.VHDTST), the watch-enabled signals will be evaluated and the corresponding Value and Last Value fields updated.
Right-click Menu
The right-click pop-up menu for the panel provides the following commands:
- Add Watch - use this command to access the Edit Watch dialog, from where you can add an additional watch to the existing list of watches in the panel.
The Watch Expression field provides a drop-down listing of all available signals that can be watched in the active simulation session. Select a signal name and click OK - the entry will be added to the panel, at the bottom of the list
- Delete Watch - delete the selected watch(es)
- Enable Watch - enable watch for the selected signal(s). The VHDL Simulator will collect data for all watch-enabled signals and the signal values will be updated on the panel as you step-debug your code
- Disable Watch - disable watch for the selected signal(s). The VHDL Simulator will not collect data for watch-disabled signals and the signal values will not be updated on the panel as you step-debug your code
- Add Waveform - add the waveform(s) for the selected watch signal(s) to the Waveform Analysis window. The waveform(s) will be added to the top of the list of existing waveforms.
- Delete Waveform - delete the waveform(s) for the selected watch signal(s) from the Waveform Analysis window
- Insert Wave View - add an additional waveform view of the selected signal(s) to the Waveform Analysis window. The new waveform view(s) will be inserted above the currently selected signal waveform in the window
- Remove Wave Views - remove all additional wave views for the selected signal(s) from the Waveform Analysis window
- Focus Wave - focus the corresponding waveform entry for the signal, in the Waveform Analysis window. The waveforms will be vertically scrolled, such that the chosen signal is shown as the first waveform entry below the analysis timeline.
- Enable All Watches - change the current state of all watches listed in the panel to enabled
- Disable All Watches - change the current state of all watches listed in the panel to disabled
- Add All Waveforms - add the waveforms for all watch signal(s) listed in the panel, to the Waveform Analysis window
- Delete All Waveforms - delete the waveforms for all watch signal(s) listed in the panel, from the Waveform Analysis window
- Insert All Wave Views - add an additional waveform view for all local signals whose waveform has been added to the Waveform Analysis window. The new waveform view(s) will be inserted above the currently selected signal waveform in the window
- Remove All Wave Views - remove the additional wave views for all signals from the Waveform Analysis window.
Notes
- The Value and Last Value fields for a watch signal are updated after the line of code has been executed.
Enabling a watch signal essentially specifies to the debugger that data for the signal is to be collected. If a watch signal is disabled, but its waveform is added to the Waveform Analysis window, you will see an entry for the signal - its waveform cannot update as data is not being collected. Conversely, an enabled watch signal that is not initially added to the Waveform Analysis window can be added at a later stage, as the data required for display has been collected and stored.
- A watch can be added to the VHDL Watches panel from within the Simulation panel. Select the signal you wish to watch, in the Local Signals region of the Simulation panel, right-click and choose the Add Watch command. The signal will be added as a watch to the VHDL Watches panel.
Changes made to a watch signal in the HDL Watches panel, in terms of its enabled/disabled state and the addition of its waveform to the Waveform Analysis window, will be reflected in the *Local Signals region of the Simulation panel and also in the Edit Simulation Signals dialog.
Conversely, any changes made to a local signal entry in the Simulation panel, or an entry in the Edit Simulation Signals dialog, will be passed to the corresponding watch signal entry in the VHDL Watches panel, where such an entry exists.
- Standard CTRL + Click and SHIFT + Click functionality is supported for selection of multiple watches in the panel.
- The keyboard shortcuts Up Arrow (or Left Arrow), HOME, END and Down Arrow (or Right Arrow), can be used to select the previous, first, last and next watch entry, respectively. Use the Right Arrow and Left Arrow keys to also expand and collapse a top-level signal entry (array), respectively.
- You can change the order in which columns are displayed. To move a column, click on its header and drag it horizontally to the required position. A valid position is indicated by the appearance of two green positional arrows.
- The Watch Expression field in the Edit Watch dialog supports standard text editing features such as cut, copy and paste. The latter enables you to copy a signal name directly from the source code and paste it into the dialog.