NAME
gtkwave - Visualization tool for VCD, LXT, LXT2, VZT, FST, and GHW
files
SYNTAX
gtkwave [option]... [DUMPFILE] [SAVEFILE] [RCFILE]
DESCRIPTION
Visualization tool for VCD, LXT, LXT2, VZT, FST, and GHW. VCD is an
industry standard simulation dump format. LXT, LXT2, VZT, and FST have
been designed specifically for use with gtkwave. GHW is the native
VHDL format generated by GHDL. Native dumpers exist in Icarus Verilog
and the open source version of VeriWell for the LXT formats so
conversion with vcd2lxt(1) or vcd2lxt2(1) is not necessary to take
direct advantage of LXT with those simulators. AET2 files can also be
processed provided that libae2rw is available but this is only of
interest to people who use IBM EDA toolsets.
OPTIONS
-n,--nocli <directory name>
Use file requester for dumpfile name.
-f,--dump <filename>
Specify dumpfile name.
-F,--fastload
generate/use VCD recoder fastload files. This is similar to the
-g,--giga option, however the spill file generated is not
deleted. Reloading the VCD file another time (either through
pressing the reload button or by re-invoking gtkwave at a later
time) will use this generated spill file rather than read the
value change section of the VCD file. This will speed up
reloads on large files greatly as only the variable declaration
section needs to be parsed. Note that the spill file contains
the file size and modification date of the VCD file in order to
detect if it is stale and needs to be regenerated.
-o,--optimize
optimize VCD to LXT2. This will automatically call vcd2lxt2(1)
to perform the file conversion. This option is highly
recommended with large VCD files in order to cut down on the
memory usage required for file viewing. Can be used in
conjunction with -v,--vcd.
-r,--rcfile <filename>
Specify override .gtkwaverc filename.
-i,--indirect <filename>
Specify indirect facs file name. The file contains a series of
regular expressions used to limit what signals can be browsed.
Signal names which match any of the regular expressions will be
viewable. Typically, indirect files are used to reduce memory
requirements for extremely large models containing millions of
facilities or to strip out top-level hierarchy clutter from
BugSpray models. This feature is only available with the AET2
loader.
-l,--logfile <filename>
Specify simulation logfile name. Multiple logfiles may be
specified by preceding each with the command flag. By selecting
the numbers in the text widget, the marker will immediately zoom
to the specific time value.
-d,--defaultskip
If there is not a .gtkwaverc file in the home directory or
current directory and it is not explicitly specified on the
command line, when this option is enabled, do not use an
implicit configuration file and instead default to the old
"whitescreen" behavior.
-D,--dualid <which>
Specify multisession identifier information. The format of
"which" is m+nnnnnnnn where m is the session number 0 or 1 and
nnnnnnnn is a hexadecimal value indicating the shared memory ID
of an array of two gtkwave_dual_ipc_t data structures. The
intended use of this flag is for front ends such as twinwave(1).
-s,--start <time>
Specify start time for LXT2/VZT block skip.
-e,--end <time>
Specify end time for LXT2/VZT block skip.
-t,--stems <filename>
Specify stems file for source code annotation. This will
automatically launch the rtlbrowse(1) helper process. See
vermin(1) for information on stems file generation.
-c,--cpu <numcpus>
Specify number of CPUs available for parallelizable ops (e.g.,
block prefetching on VZT reads).
-N,--nowm
Disable window manager for most windows. The intended use of
this is to be used in conjunction with the --script option,
however this also can be used to reparent into an alternate
window manager.
-M,--nomenus
Do not render menubar. This is mainly used for making a
restricted applet that cannot initiate file I/O on its own,
however it also can be used as a workaround in earlier versions
of GTK+ that do not handle GTKSocket/GTKPlug focus interactions
properly.
-S,--script <filename>
Specify Tcl command script file for execution.
-T,--tcl_init <filename>
Specify Tcl command script to be loaded on startup. Implies
--wish command flag.
-W,--wish
Enable Tcl command line on stdio. All script commands can be
typed in on stdin.
-R,--repscript <filename>
Specify Tcl command script for periodic execution.
-P,--repperiod <value>
Specifies delay in milliseconds between successive executions of
the repscript. Default is 500.
-X,--xid <XID>
Specify XID of window for a GtkPlug to connect to. GTKWave does
not directly render to a window but instead renders into a
GtkPlug expecting a GtkSocket at the other end. Note that there
are issues with accelerators working properly so menus are
disabled in the componentized version of GTKWave when it
functions as a plug-in.
-I,--interactive
Specifies that "interactive" VCD mode is to be used which allows
a viewer to navigate a VCD trace while GTKWave is processing the
VCD file. When this option is used, the filename is overloaded
such that it is the hexadecimal value for the shared memory ID
of a writer. Note that the shared memory ID can be passed
straight from stdin by using the --vcd option; see the manpage
for shmidcat(1) for more details.
-L,--legacy
Specifies that the viewer should use legacy VCD mode rather than
the VCD recoder. Note that using legacy mode will require
considerably more memory than the recoder and its use is
discouraged for very large traces.
-g,--giga
Specifies that the viewer should use gigabyte mempacking when
recoding (possibly slower). This is equivalent to setting the
vlist_spill and vlist_prepack flags in the rc file.
-C,--comphier
Specifies that the viewer should use compressed hierarchy names
when loading the dumpfile (available for VCD recoder, LXT, LXT2,
and VZT). This will use less memory at the expense of
compression/decompression delay.
-v,--vcd
Use stdin as a VCD dumpfile.
-O,--output <filename>
Specify filename for stdout/stderr redirect. To disable
messages to the console, use /dev/null as the filename.
-V,--version
Display version banner then exit.
-h,--help
Display help then exit.
-x,--exit
Exit after loading trace (for loader benchmarking).
FILES
~/.gtkwaverc (see manpage gtkwaverc(5))
EXAMPLES
To run this program the standard way type:
gtkwave dumpfile.vcd
Alternatively you can run it with a save file as:
gtkwave dumpfile.vcd dumpfile.sav
To run interactively using shared memory handle 0x00050003:
gtkwave -I 00050003 dumpfile.sav
Note that to pass non-flag items which start with a dash, that it is
required to specify -- in order to turn off flag parsing. A second --
will disable parsing of any following arguments such that they can be
passed on to Tcl scripts and retrieved via gtkwave::getArgv.
Command line options are not necessary for representing the dumpfile,
savefile, and rcfile names. They are merely provided to allow
specifying them out of order.
BUGS
AIX requires -bmaxdata:0x80000000 (-bmaxdata:0xd0000000/dsa for AIX
5.3) to be added to your list of compiler flags for xlc if you want
GTKWave to be able to access more than 256MB of virtual memory. The
value shown allows the VMM to use up to 2GB (3.25GB AIX5.3). This may
be necessary for very large traces.
Shift and Page operations using the wave window hscrollbar may be
nonfunctional as you move away from the dump start for very large
traces. A trace that goes out to 45 billion ticks has been known to
exhibit this problem. This stems from using the gfloat element of the
horizontal slider to encode the time value for the left margin. The
result is a loss of precision for very large values. Use the hotkeys or
buttons at the top of the screen if this is a problem.
When running under Cygwin, it is required to enable Cygserver if shared
memory IPC is being used. Specifically, this occurs when rtlbrowse(1)
is launched as a helper process. See the Cygwin documentation for more
information on how to enable Cygserver.
AUTHORS
Anthony Bybell <bybell@nc.rr.com>
SEE ALSO
gtkwaverc(5) lxt2vcd(1) vcd2lxt(1) vcd2lxt2(1) vzt2vcd(1) vcd2vzt(1)
vermin(1) rtlbrowse(1) twinwave(1) shmidcat(1)