GTKWave

GTKWave
Developer(s) Tony Bybell
Stable release
3.3.76 / August 15, 2016 (2016-08-15)
Written in C
Operating system Cross-platform
Type Simulator
License GNU General Public License
Website gtkwave.sourceforge.net

GTKWave is a fully featured GTK+ based waveform viewer which reads FST, LXT, LXT2, VZT, and GHW files as well as standard Verilog VCD/EVCD files and allows their viewing. GTKWave is developed for Linux, with ports for various other operating systems including Microsoft Windows (either natively as a Win32 application or via Cygwin), and Mac OS X targeting either X11 or Quartz. GTKWave is one of the applications affiliated with the open-source gEDA Project.

Overview

A sample view showing variable-height analog traces generated with the VHDL simulator GHDL.

Because GTKWave is designed to handle many signals at once, it has three signal searching modes (Regular Expressions, Hierarchy, and Tree) as well as the ability to display data in many different formats such as signed or unsigned decimal, hexadecimal, octal, ASCII, real number, binary, and even analog. Source code annotation is currently possible only for Verilog; a parser currently does not exist to do this for VHDL or SystemC.

History

There has been some confusion on the development history of GTKWave. The 1.x branch was developed by the original author up until he took a break from the project. At the point where the original author suspended working on it, a 2.0 branch was created and developed for a time as a component of the asynchronous logic tool Balsa being developed by Advanced Processor Technologies Group (APT). But APT eventually abandoned its work on the 2.0 branch, and the changes that they made were orphaned. The original author later resumed work on GTKWave roughly where he left off, at the end of the 1.3 series. In order to prevent confusion with the now abandoned 2.0 branch, the main development has been renamed from 1.3.x to 3.x, and this is where development continues to this day. Users of Balsa must still use the 2.0 branch as the functionality of that branch has not been ported back into the main development path.

Features

The viewer supports both post-mortem viewing of VCD files and interactive viewing of VCD data, known as partial loading. With this feature, the output of a simulator can be written to a named pipe and then fed to the viewer through a shared memory proxy. The user can then navigate the dump as it is being written to the pipe and watch the simulation output in real time. Coupled with the GtkPlug mechanism, this allows for the viewer to be integrated with other simulators in order to provide an interactive environment all in one window. Tcl scripting and callback capability allow for remote control by other applications. Starting with the 3.3 series, Bluespec Workstation is able to start GTKWave from the workstation, send signals from the workstation to the waveform viewer, and display mnemonics for enumerated types, structured buses, etc.

TwinWave is a GtkPlug which manages two sessions of GTKWave in either a single window or in two separate windows. This allows for scrolling and other GUI manipulations to be performed in lockstep across both sessions.

Supported file formats

This article is issued from Wikipedia - version of the 8/19/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.