1GTKWAVE(1)                  Simulation Wave Viewer                  GTKWAVE(1)
2
3
4

NAME

6       gtkwave  -  Visualization  tool  for  VCD, LXT, LXT2, VZT, FST, and GHW
7       files
8

SYNTAX

10       gtkwave [option]... [DUMPFILE] [SAVEFILE] [RCFILE]
11
12

DESCRIPTION

14       Visualization tool for VCD, LXT, LXT2, VZT, FST, and GHW.   VCD  is  an
15       industry  standard simulation dump format. LXT, LXT2, VZT, and FST have
16       been designed specifically for use with gtkwave.   GHW  is  the  native
17       VHDL  format generated by GHDL.  Native dumpers exist in Icarus Verilog
18       and the open source version of VeriWell for the LXT formats so  conver‐
19       sion  with  vcd2lxt(1)  or  vcd2lxt2(1) is not necessary to take direct
20       advantage of LXT with those simulators.  AET2 files can  also  be  pro‐
21       cessed provided that libae2rw is available but this is only of interest
22       to people who use IBM EDA toolsets.
23

OPTIONS

25       -n,--nocli <directory name>
26              Use file requester for dumpfile name.
27
28       -f,--dump <filename>
29              Specify dumpfile name.
30
31       -F,--fastload
32              generate/use VCD recoder fastload files.  This is similar to the
33              -g,--giga  option,  however  the  spill  file  generated  is not
34              deleted.  Reloading the VCD file another  time  (either  through
35              pressing  the reload button or by re-invoking gtkwave at a later
36              time) will use this generated spill file rather  than  read  the
37              value  change  section  of  the  VCD  file.   This will speed up
38              reloads on large files greatly as only the variable  declaration
39              section  needs  to be parsed.  Note that the spill file contains
40              the file size and modification date of the VCD file in order  to
41              detect if it is stale and needs to be regenerated.
42
43       -o,--optimize
44              optimize VCD to FST.  This will automatically call vcd2fst(1) to
45              perform the file conversion.  This option is highly  recommended
46              with  large  VCD  files in order to cut down on the memory usage
47              required for file viewing.  Can  be  used  in  conjunction  with
48              -v,--vcd.
49
50       -r,--rcfile <filename>
51              Specify override .gtkwaverc filename.
52
53       -i,--indirect <filename>
54              Specify  indirect facs file name.  The file contains a series of
55              regular expressions used to limit what signals can  be  browsed.
56              Signal  names which match any of the regular expressions will be
57              viewable.  Typically, indirect files are used to  reduce  memory
58              requirements  for  extremely large models containing millions of
59              facilities or to strip  out  top-level  hierarchy  clutter  from
60              BugSpray  models.   This feature is only available with the AET2
61              loader.
62
63       -l,--logfile <filename>
64              Specify simulation logfile name.  Multiple logfiles may be spec‐
65              ified by preceding each with the command flag.  By selecting the
66              numbers in the text widget, the marker will immediately zoom  to
67              the specific time value.
68
69       -d,--defaultskip
70              If  there is not a .gtkwaverc file in the home directory or cur‐
71              rent directory and it is not explicitly specified on the command
72              line,  when  this option is enabled, do not use an implicit con‐
73              figuration file and instead default  to  the  old  "whitescreen"
74              behavior.
75
76       -D,--dualid <which>
77              Specify  multisession  identifier  information.   The  format of
78              "which" is m+nnnnnnnn where m is the session number 0 or  1  and
79              nnnnnnnn  is a hexadecimal value indicating the shared memory ID
80              of an array of  two  gtkwave_dual_ipc_t  data  structures.   The
81              intended use of this flag is for front ends such as twinwave(1).
82
83       -s,--start <time>
84              Specify start time for LXT2/VZT block skip.
85
86       -e,--end <time>
87              Specify end time for LXT2/VZT block skip.
88
89       -t,--stems <filename>
90              Specify  stems file for source code annotation.  This will auto‐
91              matically launch the rtlbrowse(1) helper process.  See vermin(1)
92              for information on stems file generation.
93
94       -c,--cpu <numcpus>
95              Specify  number  of CPUs available for parallelizable ops (e.g.,
96              block prefetching on VZT reads).
97
98       -N,--nowm
99              Disable window manager for most windows.  The  intended  use  of
100              this is to be used in conjunction with the --script option, how‐
101              ever this also can be used to reparent into an alternate  window
102              manager.
103
104       -M,--nomenus
105              Do  not  render  menubar.  This  is  mainly  used  for  making a
106              restricted applet that cannot initiate file I/O on its own, how‐
107              ever  it also can be used as a workaround in earlier versions of
108              GTK+ that do not  handle  GTKSocket/GTKPlug  focus  interactions
109              properly.
110
111       -S,--script <filename>
112              Specify Tcl command script file for execution.
113
114       -T,--tcl_init <filename>
115              Specify  Tcl  command  script  to be loaded on startup.  Implies
116              --wish command flag.
117
118       -W,--wish
119              Enable Tcl command line on stdio.  All script  commands  can  be
120              typed in on stdin.
121
122       -R,--repscript <filename>
123              Specify Tcl command script for periodic execution.
124
125       -P,--repperiod <value>
126              Specifies delay in milliseconds between successive executions of
127              the repscript.  Default is 500.
128
129       -X,--xid <XID>
130              Specify XID of window for a GtkPlug to connect to.  GTKWave does
131              not  directly render to a window but instead renders into a Gtk‐
132              Plug expecting a GtkSocket at the other end.   Note  that  there
133              are  issues with accelerators working properly so menus are dis‐
134              abled in the componentized version of GTKWave when it  functions
135              as a plug-in.
136
137       -1,--rpcid <RPCID>
138              Specify  RPCID  of  a  gtkwave_server to connect to.  This is of
139              interest only if it is intended to send remote commands to  GTK‐
140              Wave, for example for simulators to signal to GTKWave that a sim
141              job has completed and is ready to be viewed.
142
143       -I,--interactive
144              Specifies that "interactive" VCD mode is to be used which allows
145              a viewer to navigate a VCD trace while GTKWave is processing the
146              VCD file.  When this option is used, the filename is  overloaded
147              such  that  it is the hexadecimal value for the shared memory ID
148              of a writer.  Note that the  shared  memory  ID  can  be  passed
149              straight  from  stdin by using the --vcd option; see the manpage
150              for shmidcat(1) for more details.
151
152       -L,--legacy
153              Specifies that the viewer should use legacy VCD mode rather than
154              the  VCD recoder.  Note that using legacy mode will require con‐
155              siderably more memory than the recoder and its use  is  discour‐
156              aged for very large traces.
157
158       -g,--giga
159              Specifies  that  the  viewer should use gigabyte mempacking when
160              recoding (possibly slower).  This is equivalent to  setting  the
161              vlist_spill and vlist_prepack flags in the rc file.
162
163       -C,--comphier
164              Specifies  that the viewer should use compressed hierarchy names
165              when loading the dumpfile (available for VCD recoder, LXT, LXT2,
166              and  VZT).  This will use less memory at the expense of compres‐
167              sion/decompression delay.
168
169       -v,--vcd
170              Use stdin as a VCD dumpfile.
171
172       -O,--output <filename>
173              Specify filename for stdout/stderr redirect.   To  disable  mes‐
174              sages to the console, use /dev/null as the filename.
175
176       -z,--slider-zoom
177              Enable  slider  stretch  zoom  for  the  horizontal time slider.
178              Clicking then dragging the very left or right edge of the slider
179              can be used to provide fine-grained real-time zooming.
180
181       -V,--version
182              Display version banner then exit.
183
184       -h,--help
185              Display help then exit.
186
187       -x,--exit
188              Exit after loading trace (for loader benchmarking).
189

FILES

191       ~/.gtkwaverc (see manpage gtkwaverc(5))
192
193

EXAMPLES

195       To run this program the standard way type:
196              gtkwave dumpfile.vcd
197
198       Alternatively you can run it with a save file as:
199              gtkwave dumpfile.vcd dumpfile.sav
200
201       To run interactively using shared memory handle 0x00050003:
202              gtkwave -I 00050003 dumpfile.sav
203
204       Note  that  to  pass non-flag items which start with a dash, that it is
205       required to specify -- in order to turn off flag parsing.  A second  --
206       will  disable  parsing of any following arguments such that they can be
207       passed on to Tcl scripts and retrieved via gtkwave::getArgv.
208
209       Command line options are not necessary for representing  the  dumpfile,
210       savefile, and rcfile names.  They are merely provided to allow specify‐
211       ing them out of order.
212

BUGS

214       AIX requires  -bmaxdata:0x80000000  (-bmaxdata:0xd0000000/dsa  for  AIX
215       5.3)  to  be  added  to your list of compiler flags for xlc if you want
216       GTKWave to be able to access more than 256MB  of  virtual  memory.  The
217       value  shown  allows the VMM to use up to 2GB (3.25GB AIX5.3). This may
218       be necessary for very large traces.
219
220       Shift and Page operations using the wave window hscrollbar may be  non‐
221       functional  as you move away from the dump start for very large traces.
222       A trace that goes out to 45 billion ticks has  been  known  to  exhibit
223       this  problem. This stems from using the gfloat element of the horizon‐
224       tal slider to encode the time value for the left margin. The result  is
225       a  loss  of precision for very large values. Use the hotkeys or buttons
226       at the top of the screen if this is a problem.
227
228       When running under Cygwin, it is required to enable Cygserver if shared
229       memory  IPC is being used.  Specifically, this occurs when rtlbrowse(1)
230       is launched as a helper process.  See the Cygwin documentation for more
231       information on how to enable Cygserver.
232

AUTHORS

234       Anthony Bybell <bybell@nc.rr.com>
235

SEE ALSO

237       gtkwaverc(5)  lxt2vcd(1)  vcd2lxt(1)  vcd2lxt2(1) vzt2vcd(1) vcd2vzt(1)
238       vermin(1) rtlbrowse(1) twinwave(1) shmidcat(1)
239
240
241
242Anthony Bybell                      3.3.20                          GTKWAVE(1)
Impressum