# Menu There are seven submenus in the menu bar: File, Edit, Search, Time, Markers, View, and Help. ## File The File submenu contains various items related to the accessing of files, printing, and application respawning and exiting. `Open New Window` : *Open New Window* will open a file requester that will ask for the name of a VCD or AET file to view. This will fork off a new viewer process. `Open New Tab` : *Open New Tab* will open a file requester that will ask for the name of a VCD or AET file to view. This will create a tabbed page. `Reload Waveform` : *Reload Waveform* will reload the currently displayed waveform from a potentially updated file. Note that this menu option will only be displayed if the current waveform type supports reloading. (i.e., it is not sourced from standard input or from shared memory) `Export-Write VCD File As` : *Export-Write VCD File As* will open a file requester that will ask for the name of a VCD dumpfile. The contents of the dumpfile generated will be the vcd representation of the traces onscreen that can be seen by manipulating the signal and wavewindow scrollbars. The data saved corresponds to the trace information needed to allow viewing when used in tandem with the corresponding GTKWave save file. `Export-Write LXT File As` : *Export-Write LXT File As* will open a file requester that will ask for the name of an LXT dumpfile. The contents of the dumpfile generated will be the vcd representation of the traces onscreen that can be seen by manipulating the signal and wavewindow scrollbars. The data saved corresponds to the trace information needed to allow viewing when used in tandem with the corresponding GTKWave save file. `Export-Write TIM File As` : *Export-Write TIM File As* will open a file requester that will ask for the name of a TimingAnalyzer .tim file. The contents of the file generated will be the representation of the traces onscreen. If the baseline and primary marker are set, the time range written to the file will be between the two markers, otherwise it will be the entire time range. `Close` : *Close* immediately closes the current tab if multiple tabs exist or exits GTKWave after an additional confirmation requester is given the OK to quit. `Print To File` : *Print To File* will open up a requester that will allow you to select print options (PS or MIF; Letter, A4, or Legal; Full or Minimal). After selecting the options you want, a file requester will ask for the name of the output file to generate that reflects the current main window display's contents. `Grab To File` : *Grab To File* will open a file requester that will ask for the name to be used for a PNG format image grab of the main GTKWave window. Note that if the main window is covered by other windows or is partially offscreen, the grabbed image might not appear properly. `Read Save File` : *Read Save File* will open a file requester that will ask for the name of a GTKWave save file. The contents of the save file will determine which traces and vectors as well as their format (binary, decimal, hex, reverse, etc.) are to be appended to the display. Note that the marker positional data and zoom factor present in the save file will replace any current settings. `Write Save File` : *Write Save File* will invoke Write Save File As if no save file name has been specified previously. Otherwise it will write the save file data without prompting. `Write Save File As` : *Write Save File As* will open a file requester that will ask for the name of a GTKWave save file. The contents of the save file generated will be the traces as well as their format (binary, decimal, hex, reverse, etc.) which are currently a part of the display. Marker positional data and the zoom factor are also a part of the save file. `Read Sim Logfile` : *Read Sim Logfile* will open a file requester that will ask for the name of a plaintext simulation log. By clicking on the numbers in the logfile, the marker will jump to the appropriate time value in the wave window. `Read Verilog Stemsfile` : *Read Verilog Stemsfile* will open a file requester that will ask for the name of a Verilog stemsfile. This will then launch an RTL browser and allow source code annotation based on the primary marker position. Stems files are generated by xml2stems. Please see its manpage for syntax and more information on stems file generation. `Read Script File` : *Read Script File* will open a file requester that will ask for the name of a Tcl script to run. This menu option itself is not callable by Tcl scripts. `Quit` : *Quit* exits GTKWave. ## Edit The Edit submenu is used to perform sorts on net names, perform various utility functions such as attaching disassemblers and other external programs to GTKWave, and to change the data representation of values in the wave subwindow. `Set Max Hier` : *Set Max Hier* sets the maximum hierarchy depth (counting from the right with bit numbers or ranges ignored) that is displayable for trace names. Zero indicates that no truncation will be performed (default). Note that any aliased signals (prefix of a "+") will not have truncated names. `Toggle Trace Hier` : *Toggle Trace Hier* toggles the maximum hierarchy depth from zero to whatever was previously set. `Insert Blank` : *Insert Blank* inserts a blank trace after the last highlighted trace. If no traces are highlighted, the blank is inserted after the last trace. `Insert Comment` : *Insert Comment* inserts a comment trace after the last highlighted trace. If no traces are highlighted, the comment is inserted after the last trace. `Insert Analog Height Extension` : *Insert Analog Height Extension* inserts a blank analog extension trace after the last highlighted trace. If no traces are highlighted, the blank is inserted after the last trace. This type of trace is used to increase the height of analog traces. `Cut` : *Cut* removes highlighted signals from the display and places them in an offscreen cut buffer for later Paste operations. Cut implicitly destroys the previous contents of the cut buffer. `Copy` : *Copy* copies highlighted signals from the display and places them in an offscreen cut/copy buffer for later Paste operations. Copy implicitly destroys the previous contents of the cut/copy buffer. `Paste` : *Paste* pastes signals from an offscreen cut buffer and places them in a group after the last highlighted signal, or at the end of the display if no signal is highlighted. `Delete` : *Delete* removes highlighted signals from the display and discards them without affecting the previous contents of the cut/copy buffer.s `Alias Highlighted Trace` : *Alias Highlighted Trace* only works when at least one trace has been highlighted. With this function, you will be prompted for an alias name for the first highlighted trace. After successfully aliasing a trace, the aliased trace will be unhighlighted. Single bits will be marked with a leading "+" and vectors will have no such designation. The purpose of this is to provide a fast method of determining which trace names are real and which ones are aliases. `Remove Highlighted Aliases` : *Remove Highlighted Aliases* only works when at least one trace has been highlighted. Any aliased traces will have their names restored to their original names. As vectors get their names from aliases, vector aliases will not be removed. `Expand` : *Expand* decomposes the highlighted signals into their individual bits. The resulting bits are converted to traces and inserted after the last highlighted trace. The original unexpanded traces will be placed in the cut buffer. It will function seemingly randomly when used upon real valued single-bit traces. When used upon multi-bit vectors that contain real valued traces, those traces will expand to their normal "correct" values, not individual bits. `Combine Down` : *Combine Down* coalesces the highlighted signals into a single vector named "<Vector>" in a top to bottom fashion placed after the last highlighted trace. The original traces will be placed in the cut buffer. It will function seemingly randomly when used upon real valued single-bit traces. `Combine Up` : *Combine Up* coalesces the highlighted signals into a single vector named "<Vector>" in a bottom to top fashion placed after the last highlighted trace. The original traces will be placed in the cut buffer. It will function seemingly randomly when used upon real valued single-bit traces. `Data Format-Hex` : *Data Format-Hex* will step through all highlighted traces and ensure that vectors with this qualifier will be displayed with hexadecimal values. `Data Format-Decimal` : *Data Format-Decimal* will step through all highlighted traces and ensure that vectors with this qualifier will be displayed with decimal values. `Data Format-Signed` : *Data Format-Signed* will step through all highlighted traces and ensure that vectors with this qualifier will be displayed as sign extended decimal values. `Data Format-Binary` : *Data Format-Binary* will step through all highlighted traces and ensure that vectors with this qualifier will be displayed with binary values. `Data Format-Octal` : *Data Format-Octal* will step through all highlighted traces and ensure that vectors with this qualifier will be displayed with octal values. `Data Format-ASCII` : *Data Format-ASCII* will step through all highlighted traces and ensure that vectors with this qualifier will be displayed with ASCII values. `Data Format-Time` : *Data Format-Time* will step through all highlighted traces and ensure that bits and vectors with this qualifier will display as time values. `Data Format-Enum` : *Data Format-Enum* will step through all highlighted traces and ensure that bits and vectors with this qualifier will display as enum values, provided such values were dumped into file. `Data Format-BitsToReal` : *Data Format-BitsToReal* will step through all highlighted traces and ensure that vectors with this qualifier will be displayed with Real values. Note that this only works for 64-bit values and that ones of other sizes will display as binary. `Data Format-RealToBits-On` : *Data Format-RealToBits-On* will step through all highlighted traces and ensure that Real vectors with this qualifier will be displayed as Hex values. Note that this only works for Real quantities and other ones will remain to be displayed as binary. This is a pre-filter so it is possible to invert, reverse, apply Decimal, etc. It will not be possible however to expand those values into their constituent bits. `Data Format-RealToBits-Off` : *Data Format-RealToBits-Off* will step through all highlighted traces and ensure that the RealToBits qualifier is removed from those traces. `Data Format-Right Justify-On` : *Data Format-Right Justify-On* will step through all highlighted traces and ensure that vectors with this qualifier will be displayed right justified. `Data Format-Right Justify-Off` : *Data Format-Right Justify-Off* will step through all highlighted traces and ensure that vectors with this qualifier will not be displayed right justified. `Data Format-Invert-On` : *Data Format-Invert-On* will step through all highlighted traces and ensure that bits and vectors with this qualifier will be displayed with 1's and 0's inverted. `Data Format-Invert-Off` : *Data Format-Invert-Off* will step through all highlighted traces and ensure that bits and vectors with this qualifier will not be displayed with 1's and 0's inverted. `Data Format-Reverse Bits-On` : *Data Format-Reverse Bits-On* will step through all highlighted traces and ensure that vectors with this qualifier will be displayed in reversed bit order. `Data Format-Reverse Bits-Off` : *Data Format-Reverse Bits-Off* will step through all highlighted traces and ensure that vectors with this qualifier will not be displayed in reversed bit order. `Data Format-Popcnt-On` : *Data Format-Popcnt-On* will step through all highlighted traces and ensure that bits and vectors with this qualifier will be displayed after going through a population count conversion. This is a filter which sits before other Data Format options such as hex, etc. `Data Format-Popcnt-Off` : *Data Format-Popcnt-Off* will step through all highlighted traces and ensure that bits and vectors with this qualifier will be displayed with normal encoding. `Data Format-Fixed Point Shift-On` : *Data Format-Fixed Point Shift-On* will step through all highlighted traces and ensure that bits and vectors with this qualifier will be right shifted prior to being displayed as Signed Decimal or Decimal values. `Data Format-Fixed Point Shift-Off` : *Data Format-Fixed Point Shift-Off* will step through all highlighted traces and ensure that bits and vectors with this qualifier will not be right shifted prior to being displayed as Signed Decimal or Decimal values. `Data Format-Fixed Point Shift-Specify` : *Data Format-Fixed Point Shift-Specify* will open up a requester to specify a shift count then will step through all highlighted traces and ensure that bits and vectors with this qualifier will be right shifted prior to being displayed as Signed Decimal or Decimal values. `Color Format-Normal` : *Color Format-Normal* uses normal waveform colorings for all selected traces. `Color Format-Red` : *Color Format-Red* uses red waveform colorings for all selected traces. `Color Format-Orange` : *Color Format-Orange* uses orange waveform colorings for all selected traces. `Color Format-Yellow` : *Color Format-Yellow* uses yellow waveform colorings for all selected traces. `Color Format-Green` : *Color Format-Green* uses green waveform colorings for all selected traces. `Color Format-Blue` : *Color Format-Blue* uses blue waveform colorings for all selected traces. `Color Format-Indigo` : *Color Format-Indigo* uses indigo waveform colorings for all selected traces. `Color Format-Violet` : *Color Format-Violet* uses violet waveform colorings for all selected traces. `Color Format-Cycle` : *Color Format-Cycle* uses cycling waveform colorings for all selected traces. `Color Format-Keep xz Colors` : *Color Format-Keep xz Colors* when enabled keeps the old non 0/1 signal value colors when a user specifies a color override by using Edit/Color Format. `Translate Filter File Disable` : *Translate Filter File Disable* will remove translation filtering used to reconstruct enums for marked traces. `Translate Filter File` : *Translate Filter File* will enable translation on marked traces using a filter file. A requester will appear to get the filter filename. `Translate Filter Process Disable` : *Translate Filter Process Disable* will remove translation filtering used to reconstruct enums for marked traces. `Translate Filter Process` : *Translate Filter Process* will enable translation on marked traces using a filter process. A requester will appear to get the filter filename. `Transaction Filter Process` : *Transaction Filter Process* will enable transaction filtering on marked traces using a filter process. A requester will appear to get the filter filename. `Transaction Filter Process Disable` : *Transaction Filter Process Disable* will remove transaction filtering. `Analog Off` : *Analog Off* causes the waveform data for all currently highlighted traces to be displayed as normal. `Analog Step` : *Analog Step* causes the waveform data for all currently highlighted traces to be displayed as stepwise analog waveform. `Analog Interpolate` : *Analog Interpolate* causes the waveform data for all currently highlighted traces to be displayed as interpolated analog waveform. `Analog Resizing-Screen Data` : *Analog Resizing-Screen Data* causes the waveform data for all currently highlighted traces to be displayed such that the y-value scaling maximizes the on-screen trace data so if fills the whole trace width at all times. `Analog Resizing-All Data` : *Analog Resizing-All Data* causes the waveform data for all currently highlighted traces to be displayed such that the y-value scaling maximizes the on-screen trace data so if fills the whole trace width only when fully zoomed out. (i.e., the scale used goes across all trace data) `Data Format-Range Fill With 0s` : *Data Format-Range Fill With 0s* will step through all highlighted traces and ensure that vectors with this qualifier will be displayed as if the bitrange of the MSB or LSB as appropriate goes to zero. Zero bits will be filled in for the missing bits. `Data Format-Range Fill With 1s ` : *Data Format-Range Fill With 1s *will step through all highlighted traces and ensure that vectors with this qualifier will be displayed as if the bitrange of the MSB or LSB as appropriate goes to zero. One bits will be filled in for the missing bits; this is mostly intended to be used when viewing values which are inverted in the logic and need to be inverted in the viewer. `Data Format-Zero Range Fill Off` : *Data Format-Zero Range Fill Off* will step through all highlighted traces and ensure that normal bitrange displays are used. `Show-Change All Highlighted` : *Show-Change All Highlighted* provides an easy means of changing trace attributes en masse. Various functions are provided in a Show-Change requester. `Show-Change First Highlighted` : *Show-Change First Highlighted* provides a means of changing trace attributes for the first highlighted trace. Various functions are provided in a Show-Change requester. When a function is applied, the trace will be unhighlighted. `Warp Marked` : *Warp Marked* offsets all highlighted traces by the amount of time entered in the requester. (Positive values will shift traces to the right.) Attempting to shift greater than the absolute value of total simulation time will cap the shift magnitude at the length of simulation. Note that you can also warp traces dynamically by holding down CTRL and dragging a group of highlighted traces to the left or right with the left mouse button pressed. When you release the mouse button, if CTRL is pressed, the drag warp commits, else it reverts to its pre-drag condition. `Unwarp Marked` : *Unwarp Marked* removes all offsets on all highlighted traces. `Unwarp All` : *Unwarp All* unconditionally removes all offsets on all traces. `Exclude` : *Exclude* causes the waveform data for all currently highlighted traces to be blanked out. `Show` : *Show* causes the waveform data for all currently highlighted traces to be displayed as normal if the exclude attribute is currently set on the highlighted traces. `Toggle Group` : *Toggle Group* toggles a group opened or closed. Double-clicking does the same action as selecting this menu option. `Create Group` : *Create Group* creates a group of traces which may be opened or closed. It is permitted for groups to be nested. `Highlight Regexp` : *Highlight Regexp* brings up a text requester that will ask for a regular expression that may contain text with POSIX regular expressions. All traces meeting this criterion / these criteria will be highlighted. `UnHighlight Regexp` : *UnHighlight Regexp* brings up a text requester that will ask for a regular expression that may contain text with POSIX regular expressions. All traces meeting this criterion / these criteria will be unhighlighted if they are currently highlighted. `Highlight All` : *Highlight All* simply highlights all displayed traces. `UnHighlight All` : *UnHighlight All* simply unhighlights all displayed traces. `Alphabetize All` : *Alphabetize All* alphabetizes all displayed traces. Blank traces are sorted to the bottom. `Alphabetize All (CaseIns)` : *Alphabetize All (CaseIns)* alphabetizes all displayed traces without regard to case. Blank traces are sorted to the bottom. `Sigsort All` : *Sigsort All* sorts all displayed traces with the numeric parts being taken into account. Blank traces are sorted to the bottom. `Reverse All` : *Reverse All* reverses all displayed traces unconditionally. ## Search The Search submenu is used to perform searches on net names and values. `Pattern Search 1/2` : *Pattern Search* only works when at least one trace is highlighted. A requester will appear that lists all the selected traces (maximum of 500) and allows various criteria to be specified for each trace. Searches can go forward or backward from the primary (unnamed) marker. If the primary marker has not been set, the search starts at the beginning of the displayed data ("From") for a forwards search and starts at the end of the displayed data ("To") for a backwards search. "Mark" and "Clear" are used to modify the normal time vertical markings such that they can be used to indicate all the times that a specific pattern search condition is true (e.g., every upclock of a specific signal). The "Mark Count" field indicates how many times the specific pattern search condition was encountered. The "Marking Begins at" and "Marking Stops at" fields are used to limit the time over which marking is applied (but they have no effect on searching). `Signal Search Regexp` : *Signal Search Regexp* provides an easy means of adding traces to the display. Various functions are provided in the Signal Search requester which allow searching using POSIX regular expressions and bundling (coalescing individual bits into a single vector). `Signal Search Hierarchy` : *Signal Search Hierarchy* provides an easy means of adding traces to the display in a text based treelike fashion. `Signal Search Tree` : *Signal Search Tree* provides an easy means of adding traces to the display. Various functions are provided in the Signal Search Tree requester which allow searching a treelike hierarchy and bundling (coalescing individual bits into a single vector). `Autocoalesce` : *Autocoalesce* when enabled allows the wave viewer to reconstruct split vectors. Split vectors will be indicated by a "[]" prefix in the search requesters. `Autocoalesce Reversal` : *Autocoalesce Reversal* causes split vectors to be reconstructed in reverse order (only if autocoalesce is also active). This is necessary with some simulators. Split vectors will be indicated by a "[]" prefix in the search requesters. `Autoname Bundles` : *Autoname Bundles* when enabled modifies the bundle up/down operations in the hierarchy and tree searches such that a NULL bundle name is implicitly created which informs GTKWave to create bundle and signal names based on the position in the hierarchy. When disabled, it modifies the bundle up/down operations in the hierarchy and tree searches such that a NULL bundle name is not implicitly created. This informs GTKWave to create bundle and signal names based on the position in the hierarchy only if the user enters a zero-length bundle name. This behavior is the default. (search-hierarchy-grouping)= `Search Hierarchy Grouping` : *Search Hierarchy Grouping* when enabled ensures that new members added to the "Tree Search" and "Hierarchy Search" widgets are added alphanumerically: first hierarchy names as a group followed by signal names as a group. This is the default and is recommended. When disabled, hierarchy names and signal names are interleaved together in strict alphanumerical ordering. Note that due to the caching mechanism in "Tree Search", dynamically changing this flag when the widget is active may not produce immediately obvious results. Closing the widget then opening it up again will ensure that it follows the behavior of this flag. `Set Pattern Search Repeat Count` : *Set Pattern Search Repeat Count* sets the number of times that both edge and pattern searches iterate forward or backward when marker forward/backward is selected. Default value is one. This can be used, for example, to skip forward 10 clock edges at a time rather than a single edge. `Open Scope` : *Open Scope* opens and selects the appropriate level of hierarchy in the SST for the first selected signal. This can be used to quickly move to a level of hierarchy in the SST frame, for example, when viewing signals across multiple units in a design. `Open Source Definition` : *Open Source Definition* opens and selects the appropriate level of hierarchy in the SST for the first selected signal and also invokes `$GTKWAVE_EDITOR` or gedit (if found) on the appropriate source unit. `Open Source Instantiation` : *Open Source Instantiation* opens and selects the appropriate level of hierarchy in the SST for the first selected signal and also invokes `$GTKWAVE_EDITOR` or gedit (if found) on the appropriate source unit. ## Time The Time submenu contains a superset of the functions performed by the Navigation and Status Panel button groups. `Move To Time` : *Move To Time* scrolls the waveform display such that the left border is the time entered in the requester. Use one of the letters A-Z to move to a named marker. `Zoom Amount` : *Zoom Amount* allows entry of zero or a negative value for the display zoom. Zero is no magnification. `Zoom Base` : *Zoom Base* allows entry of a zoom base for the zoom (magnification per integer step) Allowable values are 1.5 to 10.0. Default is 2.0. `Zoom In` : *Zoom In* is used to increase the zoom factor. ++alt+"Scrollwheel Down"++ also performs this function. `Zoom Out` : *Zoom Out* is used to decrease the zoom factor. ++alt+"Scrollwheel Up"++ also performs this function. `Zoom Full` : *Zoom Full* attempts a "best fit" to get the whole trace onscreen. Note that the trace may be more or less than a whole screen since this isn't a "perfect fit." `Zoom Best Fit` : *Zoom Best Fit* attempts a "best fit" to get the whole trace onscreen. Note that the trace may be more or less than a whole screen since this isn't a "perfect fit." Also, if the middle button baseline marker is nailed down, the zoom instead of getting the whole trace onscreen will use the part of the trace between the primary marker and the baseline marker. `Zoom To Start` : *Zoom To Start* is used to jump scroll to the trace's beginning. `Zoom To End` : *Zoom To End* is used to jump scroll to the trace's end. `Zoom Undo` : *Zoom Undo* is used to revert to the previous zoom value used. Undo only works one level deep. `Fetch Size` : *Fetch Size* brings up a requester which allows input of the number of ticks used for fetch/discard operations. Default is 100. `Fetch Right` : *Fetch Right* increases the "To" time, which allows more of the trace to be displayed if the "From" and "To" times do not match the actual bounds of the trace. `Fetch Left` : *Fetch Left* decreases the "From" time, which allows more of the trace to be displayed if the "From" and "To" times do not match the actual bounds of the trace. `Discard Right` : *Discard Right* decreases the "To" time, which allows less of the trace to be displayed. `Discard Left` : *Discard Left* increases the "From" time, which allows less of the trace to be displayed. `Shift Right` : *Shift Right* scrolls the display window right one tick worth of data. The net action is that the data scrolls left a tick. ++ctrl+"Scrollwheel Down"++ also performs this function. `Shift Left` : *Shift Left* scrolls the display window left one tick worth of data. The net action is that the data scrolls right a tick. ++ctrl+"Scrollwheel Up"++ also performs this function. `Page Right` : *Page Right* scrolls the display window right one page worth of data. The net action is that the data scrolls left a page. ++"Scrollwheel Down"++ also performs this function. `Page Left` : *Page Left* scrolls the display window left one page worth of data. The net action is that the data scrolls right a page. ++"Scrollwheel Up"++ also performs this function. ## Markers The Markers submenu is used to perform various manipulations on the markers as well as control scrolling offscreen. `Show-Change Marker Data` : *Show-Change Marker Data* displays and allows the modification of the times for all 26 named markers by filling in the leftmost entry boxes. In addition, optional marker text rather than a generic single letter name may be specified by filling in the rightmost entry boxes. Note that the time for each marker must be unique. `Drop Named Marker` : *Drop Named Marker* drops a named marker where the current primary (unnamed) marker is placed. A maximum of 26 named markers are allowed and the times for all must be different. `Collect Named Marker` : *Collect Named Marker* collects a named marker where the current primary (unnamed) marker is placed if there is a named marker at its position. `Collect All Named Markers` : *Collect All Named Markers* simply collects any and all named markers which have been dropped. `Delete Primary Marker` : *Delete Primary Marker* removes the primary marker from the display if present. `Wave Scrolling` : *Wave Scrolling* allows movement of the primary marker beyond screen boundaries which causes the wave window to scroll when enabled. When disabled, it disallows movement of the primary marker beyond screen boundaries. `Alternate Wheel Mode` : *Alternate Wheel Mode* makes the mouse wheel act how TomB expects it to. Wheel alone will pan part of a page (so you can still see where you were). ++ctrl+"Wheel"++ will zoom around the cursor (not where the marker is), and ++alt+"Wheel"++ will edge left or right on the selected signal. `Copy Primary -> B Marker` : *Copy Primary -> B Marker* copies the primary marker position to the B marker (handy for measuring deltas). `Lock to Lesser Named Marker` : *Lock to Lesser Named Marker* locks the primary marker to a named marker. If no named marker is currently selected, the last defined one is used, otherwise the marker selected will be one lower in the alphabet, scrolling through to the end of the alphabet on wrap. If no named marker exists, one is dropped down for 'A' and the primary marker is locked to it. `Lock to Greater Named Marker` : *Lock to Greater Named Marker* locks the primary marker to a named marker. If no named marker is currently selected, the first defined one is used, otherwise the marker selected will be one higher in the alphabet, scrolling through to the beginning of the alphabet on wrap. If no named marker exists, one is dropped down for 'A' and the primary marker is locked to it. `Unlock from Named Marker` : *Unlock from Named Marker* unlocks the primary marker from the currently selected named marker. ## View The View submenu is used to control various attributes dealing with the graphical rendering of status items as well as values in the signal subwindow. `Show Grid` : *Show Grid* toggles the drawing of gridlines in the waveform display. `how Wave Highlight` : *Show Wave Highlight* toggles the drawing of highlighted waveforms (instead of gridlines) in the waveform display. `Show Mouseover` : *Show Mouseover* toggles the dynamic tooltip for signal names and values which follow the marker on mouse button presses in the waveform display. This is useful for examining the values of closely packed value changes without having to zoom outward and without having to refer to the signal name pane to the left. Note that an encoded string will be displayed next to the signal name that indicates what data format flags are currently active for that signal. Flags are as follows: | Flag | Description | |------|----------------------------| | `+` | Signed Decimal | | `X` | Hexadecimal | | `A` | ASCII | | `D` | Decimal | | `B` | Binary | | `O` | Octal | | `J` | Right Justify | | `~` | Invert | | `V` | Reverse | | `*` | Analog Step+Interpolated | | `S` | Analog Step | | `I` | Analog Interpolated | | `R` | Real | | `r` | Real to Bits | | `0` | Range Fill with 0s | | `1` | Range Fill with 1s | | `G` | Binary to Gray | | `g` | Gray to Binary | | `F` | File Filter | | `P` | Process Filter | | `T` | Transaction Filter | | `p` | Population Count | | `s` | Fixed Point Shift (count) | `Mouseover Copies To Clipboard` : *Mouseover Copies To Clipboard* toggles automatic copying to the clipboard of mouseover values. Requires that Show Mouseover is enabled. `Show Base Symbols` : *Show Base Symbols* enables the display of leading base symbols ('$' for hex, '%' for binary, '#' for octal if they are turned off and disables the drawing of leading base symbols if they are turned on. Base symbols are displayed by default. `Standard Trace Select` : *Standard Trace Select* when enabled, keeps the currently selected traces from deselecting on mouse button press. This allows drag and drop to function more smoothly. As this behavior is not how GTK normally functions, it is by default disabled. `Dynamic Resize` : *Dynamic Resize* allows GTKWave to dynamically resize the signal window for you when toggled active. This can be helpful during numerous signal additions and/or deletions. This is the default behavior. `Center Zooms` : *Center Zooms* when enabled configures zoom in/out operations such that all zooms use the center of the display as the fixed zoom origin if the primary (unnamed) marker is not present, otherwise, the primary marker is used as the center origin. When disabled, it configures zoom in/out operations such that all zooms use the left margin of the display as the fixed zoom origin. `Toggle Delta-Frequency` : *Toggle Delta-Frequency* allows you to switch between the delta time and frequency display in the upper right corner of the main window when measuring distances between markers. Default behavior is that the delta time is displayed. `Toggle Max-Marker` : *Toggle Max-Marker* allows you to switch between the maximum time and marker time for display in the upper right corner of the main window. Default behavior is that the maximum time is displayed. `Constant Marker Update` : *Constant Marker Update* when enabled, allows GTKWave to dynamically show the changing values of the traces under the primary marker while it is being dragged across the screen. This works best with dynamic resizing disabled. When disabled, it restricts GTKWave to only update the trace values when the left mouse button is initially pressed then again when it is released. This is the default behavior. `Draw Roundcapped Vectors` : *Draw Roundcapped Vectors* draws vector transitions that have sloping edges when enabled. Draws vector transitions that have sharp edges when disabled; this is the default. `Left Justify Signals` : *Left Justify Signals* draws signal names flushed to the left border of the signal window. `Right Justify Signals` : *Right Justify Signals* draws signal names flushed to the right ("equals") side of the signal window. `Zoom Pow10 Snap` : *Zoom Pow10 Snap* snaps time values to a power of ten boundary when active. Fractional zooms are internally stored, but what is actually displayed will be rounded up/down to the nearest power of 10. This only works when the ticks per frame is greater than 100 units. `Partial VCD Dynamic Zoom Full` : *Partial VCD Dynamic Zoom Full* causes the screen to be in full zoom mode while a VCD file is loading incrementally. `Partial VCD Dynamic Zoom To End` : *Partial VCD Dynamic Zoom To End* causes the screen to zoom to the end while a VCD file is loading incrementally. `Full Precision` : *Full Precision* does not round time values when the number of ticks per pixel onscreen is greater than 10 when active. The default is that this feature is disabled. `Define Time Ruler Marks` : *Define Time Ruler Marks* changes the ruler markings such that the Baseline marker defines the origin and the Primary marker distance from the Baseline marker defines the period. If either the Baseline marker or Primary marker are not present, the default ruler markers are used. If the Baseline marker and Primary marker have the same value, the default ruler markers are used. `Remove Pattern Marks` : *Remove Pattern Marks* removes any vertical traces on the display caused by the Mark feature in pattern search and reverts to the normal format. `Use Color` : *Use Color* draws signal names and trace data in color. This is normal operation. `Use Black and White` : *Use Black and White* draws signal names and trace data in black and white. This is intended for use in black and white screen dumps. `Scale To Time Dimension: None` : *Scale To Time Dimension: None* turns off time dimension conversion. `Scale To Time Dimension: sec` : *Scale To Time Dimension: sec* changes the time dimension conversion value to seconds. `Scale To Time Dimension: ms` : *Scale To Time Dimension: ms* changes the time dimension conversion value to milliseconds. `Scale To Time Dimension: us` : *Scale To Time Dimension: us* changes the time dimension conversion value to microseconds. `Scale To Time Dimension: ns` : *Scale To Time Dimension: ns* changes the time dimension conversion value to nanoseconds. `Scale To Time Dimension: ps` : *Scale To Time Dimension: ps* changes the time dimension conversion value to picoseconds. `Scale To Time Dimension: fs` : *Scale To Time Dimension: fs* changes the time dimension conversion value to femtoseconds. `LXT Clock Compress to Z` : *LXT Clock Compress to Z* reduces memory usage when active as clocks compressed in LXT format are kept at Z in order to save memory. Traces imported with this are permanently kept at Z. ## Help The Help submenu contains options for enabling on-line help as well as displaying program version information. `Wave Help` : *Wave Help* brings up a help window that will show the function of any menu option when that option is selected. Closing the help window will turn off help and return back to normal menu function. `Wave Version` : *Wave Version* merely brings up a requester which indicates the current version of this program.