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.
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_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.
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.
|