Customizing your environment in gtkwave is quite easy with the .gtkwaverc file. The search
path for the file is first the current working directory then the effective user's home directory.
It is simply a series of variable definitions, one per line, which modify the behavior of specific
features in GTKWave. A sample .gtkwaverc file that works well with modelsim may be found
in the examples/vcd_mti directory. Note that you will probably want to edit the file so that
the max_hier is 0 (infinite).
The format for each line is:
variable value
...where at least one space separates the case insensitive variable name from its value. (NOTE: multiple word variable names will have an
underscore between words and you may substitute the case insensitive strings of ON and any Y prefixed word for the value of
1 [enable feature], and OFF and any N prefixed word for the value of 0 [disable feature].)
Lines that start with # are considered comment lines and are ignored.
Currently supported variables are listed in the table below...
Environment Variables
alt_hier_delimeter- This allows another character in addition to the hier_delimeter
to be used to delimit levels in the hierarchy for VCD. Only the first character in the
value is significant. Note that this is normally off. The intended use is to resolve the hierarchies of netlist based
models that often contain slashes to delimit hierarchy inside of $var statements.
anna_compatibility- A nonzero value indicates that the time value in an .aet
format trace should be divided by ten in order to present the same display as anna (default). A zero value indicates that the time value should be taken literally.
append_vcd_hier- Allows the specification of a prefix hierarchy for VCD files. This can be done in "pieces," so
that multiple layers of hierarchy are prepended to symbol names with the most significant addition occurring first (see .gtkwaverc in the examples/vcd directory). The intended use of this is to have the ability to add "project"
prefixes which allow easier selection of everything from the tree hierarchy.
atomic_vectors- Speeds up vcd loading and takes up less memory. The downside is that atomic vectors are
treated internally as a single bit and can't be coalesced into larger vectors or split up. Because of this single bit nature,
the bundle down and bundle up operations when used in
Signal Search Regexp, Signal Search Hierarchy, and Signal Search Tree will perfom seemingly
unpredictably.
Note that savefiles are
largely incompatible between atomic and non-atomic modes (i.e., signal information is stored differently). This variable
normally defaults to "on" and it is suggested that it remain there unless vector splitting is a necessity.
autocoalesce- A nonzero value enables autocoalescing of VCD vectors when applicable. This may be
toggled dynamically during wave viewer usage.
autocoalesce_reversal causes split vectors to be reconstructed in reverse order (only if autocoalesce is also active).
autoname_bundles- A nonzero value indicates that
GTKWave will create its own bundle names rather than prompting the user for them.
Environment Variables for Color
The colors available to the wave window graphics contexts are
also adjustable by listing one of the following color variables trailed by at least one space then a six digit hex RGB number
(e.g., color_back ffffff). Additionally, standard X11 color value strings can be used (e.g.,
color_back steel blue), but don't put them in quotation marks as spaces are handled properly:
color_back- background color
color_grid- grid color (use Alt-G/Shift-Alt-G to show/hide grid)
color_trans- trace color when transitioning
color_high- trace color when high
color_low- trace color when low
color_mid- trace color when floating ("Z")
color_x- trace color when undefined ("X")
color_xfill- trace color (inside of box) when undefined ("X")
color_vbox- vector color (horizontal)
color_vtrans- vector color (verticals/transitions)
color_value- text color for vector values
color_time- text color for timebar
color_timeb- text color for timebar's background
color_umark- color of the unnamed (primary) marker
color_mark- color of the named markers
...if the above variables are unspecified, the defaults (standard GTK color shadings) are used on a per-unspecified variable basis.
|
|
constant_marker_update- A nonzero value indicates that the values
for traces listed in the signal window are to be updated constantly when the left mouse button is being held down rather than
only when it is first pressed then when released (which is the default).
convert_to_reals- Converts all integer and parameter VCD declarations to real-valued ones when set to a nonzero/yes value.
The positive aspect of this is that integers and parameters will take up less space in memory and will automatically display in decimal
format. The negative aspect of this is that integers and parameters will only be displayable as decimals and can't be bit reversed, inverted, etc.
disable_tooltips- A nonzero value indicates that tooltip pop up bubbles should be
disabled. A zero value indicates that tooltips should be active (default).
do_initial_zoom_fit- A nonzero value indicates that the trace should
initially be crunched to fit the screen. A zero value indicates that the initial zoom should be zero
(default).
dynamic_resizing- A nonzero value indicates that dynamic resizing should be initially enabled (default). A zero value indicates
that dynamic resizing should be initially disabled.
enable_ghost_marker- lets the user turn on/off the ghost marker during primary marker dragging.
Default is enabled.
enable_horiz_grid- A nonzero value indicates that when grid drawing is enabled,
horizontal lines are to be drawn. This is the default.
enable_vcd_autosave- causes the vcd loader to automatically generate a .sav file (vcd_autosave.sav) in the cwd
if a save file is not specified on the command line. Note that this mirrors the VCD $var defs and no attempt is made to coalesce split
bitvectors back together.
enable_vert_grid- A nonzero value indicates that when grid drawing is enabled,
vertical lines are to be drawn. This is the default. Note that all possible combinations of
enable_horiz_grid and enable_vert_grid values are acceptable.
fontname_signals- When followed by an argument, this indicates the name of the X11 font that you wish to use for signals.
You may generate appropriate fontnames using the xfontsel program.
fontname_waves- When followed by an argument, this indicates the name of the X11 font that you wish to use for waves.
You may generate appropriate fontnames using the xfontsel program. Note that the signal font must be taller than the wave font
or the viewer will complain then terminate.
force_toolbars- When enabled, this forces everything above the signal and wave windows to be rendered as toolbars. This allows
for them to be detached which allows for more usable wave viewer space. By default this is off.
hier_delimeter- This allows characters other than '/'
to be used to delimit levels in the hierarchy. Only the first character in the
value is significant.
hier_max_level- Sets the maximum hierarchy depth
(from the right side) to display for trace names. Note that a value of zero
displays the full hierarchy name.
hpane_pack- A nonzero value indicates that the horizontal pane should be constructed using the gtk_paned_pack functions
(default and recommended). A zero value indicates that gtk_paned_add will be used instead.
initial_window_x- Sets the size of the initial width of the wave viewer window. Values less than or equal to zero will set
the initial width equal to -1 which will let GTK determine the minimum size.
initial_window_y- Sets the size of the initial height of the wave viewer window. Values less than or equal to zero will set
the initial width equal to -1 which will let GTK determine the minimum size.
left_justify_sigs- When nonzero, indicates that the signal window signal name justification should default to
left, else the justification is to the right (default).
page_divisor- Sets the scroll amount for page left
and right operations. (The buttons, not the hscrollbar.) Values over 1.0
are taken as 1/x and values equal to and less than 1.0 are taken
literally. (i.e., 2 gives a half-page scroll and .67 gives 2/3). The
default is 1.0.
ps_maxveclen- sets the maximum number of characters that can
be printed for a value in the signal window portion of a postscript file (not including
the net name itself). Legal values are 4 through 66 (default).
show_base_symbols- A nonzero value (default) indicates that the numeric
base symbols for hexadecimal ('$'), binary ('%'), and octal ('#') should be rendered. Otherwise
they will be omitted.
show_grid- A nonzero value (default) indicates that a grid should be drawn behind the traces.
A zero indicates that no grid should be drawn.
use_aet- A nonzero value indicates that if a suffix match on .aet, .vcd, .dmp, and their gzipped counterparts is not
encountered, default to using the aet loader.
use_big_fonts- A nonzero value indicates that any text rendered
into the wave window will use fonts that are four points larger in size than normal. This
can enhance readability. A zero value indicates that normal font sizes should be used.
use_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.
use_larger_scale- A nonzero value indicates that the hashmarks
used for the timescales should be based around 50 pixels rather than 40/48 pixels.
use_maxtime_display- A nonzero value indicates that the
maximum time will be displayed in the upper right corner of the screen.
Otherwise, the current primary (unnamed) marker time will be displayed. This
can be toggled at any time with the Toggle Max-Marker menu option.
use_nonprop_fonts- Allows accelerated redraws of the
signalwindow that can be done because the font width is constant. Default is
off.
use_roundcaps- A nonzero value indicates that
vector traces should be drawn with rounded caps rather than perpendicular
ones. The default for this is zero.
use_scrollbar_only- A nonzero value indicates that
the page, shift, fetch, and discard buttons should not be drawn (i.e.,
time manipulations should be through the scrollbar only rather than
front panel buttons).
The default for this is zero.
use_vcd- A nonzero value indicates that if a suffix match on .aet, .vcd, .dmp, and their gzipped counterparts is not
encountered, default to using the VCD loader if use_aet is not selected. Note that if both use_aet and use_vcd
are both set to zero, VCD is used by default.
vcd_explicit_zero_subscripts- indicates that signal names should be stored internally as name.bitnumber when enabled.
When disabled, a more "normal" ordering of name[bitnumber] is used. Note that when disabled, the Bundle Up and Bundle Down
options are disabled in the Signal Search Regexp, Signal Search Hierarchy, and Signal Search Tree options. This is necessary
as the internal data structures for signals are represented with one "less" level of hierarchy than when enabled and those functions would not work
properly. This should not be an issue if atomic_vectors are enabled.
Default for vcd_explicit_zero_subscripts is disabled.
vector_padding- indicates the number of pixels of extra whitespace that should be
added to any strings for the purpose of calculating text in vectors. Permissible values are 0 to
16 with the default being 4.
wave_scrolling- a nonzero value enables scrolling by dragging the marker off the left or right sides of the wave window.
A zero value disables it.
zoom_base- allows setting of the zoom base with a value between 1.5 and 10.0. Default
is 2.0.
zoom_center- a nonzero value enables center zooming, a zero value disables it.
zoom_pow10_snap- corresponds to the Zoom Pow10 Snap menu option listed above. Default for this is disabled (zero).
|
|
Even more customization is planned on being added incrementally and new features will be available in the future.
|