- GTKWave
infobox software
name = GTKWave
caption = GTKWave viewing many waveforms
developer =Tony Bybell
latest_release_version = 3.1.13
latest_release_date =20 August 2008
programming language = C
operating_system =Cross-platform
genre =Simulator
license =GNU General Public License
website = http://home.nc.rr.com/gtkwave/GTKWave is a fully featured
GTK+ basedwaveform viewer which readsLXT , LXT2,VZT , andGHW files as well as standardVerilog VCD/EVCD files and allows their viewing. GTKWave is developed forLinux , with ports for various otheroperating systems includingMicrosoft Windows (either natively as aWin32 application or viaCygwin ) andMac OS X .Overview
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 unsigneddecimal ,hexadecimal ,octal ,ASCII ,real number , binary, and even analog.Source code annotation is possible forVerilog ; a parser currently does not exist to do this forVHDL however it would not be difficult to integrate such a feature.History
The GTKWave 1.3 branch is the only branch currently being developed. A 2.0.x branch, which was designed as a visualization tool for the asynchronous logic tool Balsa was being developed at one time by Advanced Processor Technologies Group (APT), but this version is no longer in development. In order to reduce confusion as to what version is newer, the 1.3 branch has been actively developed such that new features like
source code annotation , embedding of the viewer as aGtkPlug plugin applet in other applications such asTwinWave , andpartial loading ofdumpfile s have been added and the version number has been promoted to 3.0.x. Note that users who intend to use Balsa must still use the 2.0.x branch as this functionality has not been ported to 3.0.x.Features
The viewer supports not only post-mortem viewing of VCD files but also
interactive viewing of VCD data. With this feature, the output of a simulator can go to anamed pipe which can then be fed to the viewer through ashared memory proxy. The user can then navigate the dump as it is being written to the fifo, watch it build in realtime, etc. Coupled with theGtkPlug mechanism, this allows for the viewer to be integrated with other simulators in order to provide an interactive environment all in one window."shmidcat" is a utility provided with GTKWave that facilitates the
partial loading ofdumpfile s. It uses ashared memory interface in order to provide high performance data sharing withVerilog simulators .Newer versions of the viewer dynamically recode the signals in VCD files into a series of loosely-packed
LZSS variant streams which feed intoVList structures which are post-compressed withzlib and then optionally dumped off to a software-managedswap file . This increases viewer capacity significantly such that it is no longer required to run the viewer on a 64-bit machine in order to read multi-gigabyte VCD files, and in addition per-signal access latency when the swap file is used is O(lg n) (with n being the number of transitions for a given signal) as a side-effect of using VLists so performance with a swap file degrades slightly or can even improve due to the decreased possibility of thrashing.External links
* [http://home.nc.rr.com/gtkwave/ Project home page]
* [http://sourceforge.net/projects/gtkwave/ GTKWave on Sourceforge.net]
Wikimedia Foundation. 2010.