Gtkwave notes

This post was written by eli on August 19, 2017
Posted Under: FPGA,Linux,Software


Gtkwave is a simple and convenient viewer of electronic waveforms. It’s a free software tool at its best: A bit rough to start working with, but after a while it becomes clear that the decisions have been made by someone who uses the tool himself. Really recommended.

So here are my jumpstart notes for the next time I’ll need it.


$ gtkwave this.vcd &

Note to self: My own utility for generating VCD files from raw dumps, named dump2vcd, is in the utils repository.

Saving a signal view set

To have a certain set of signals shown, as well as a certain time region shows, create a “Save File”: In the top menu go File > Write Save File. The automatic filename extension is .sav.

At the next session, just read the save file with File > Read Save File. Or from the command line e.g.

$ gtkwave this.vcd allview.sav &


Note that hovering the mouse pointer over a certain signal’s trace will make it sticky on transitions.

  • Plain left-click: Sets the “current position”. Values seen at left.
  • Left click and drag: Time difference shown at the top
  • Right-click and drag: Zoom in
  • Middle-button (wheel) click: Set the “base marker”. Then move around the primary marker with plain left-clicks, and the time difference between the base marker and primary will appear as the top.

Other nice stuff

  • Find Next / Previous Edge (plain right/left arrows at the toolbar). Select one or several signals on the Signals list, and click on these icons to jump to the next edge of those signals.
  • If a set of signal are named with index suffixes, e.g. state[0] and state[1], Gtkwave automagically shows them as a vector (e.g. state[1:0]).


Add a Comment

required, use real name
required, will not be published
optional, your blog address