Supported formats

GTKWave supports various file formats:

  • VCD: Value Change Dump
    This is the industry standard file format generated by most Verilog simulators and is specified in IEEE-1364. This is the slowest of the formats for the viewer to process and requires the most memory. However, this format is ubiquitous, and almost all tools support it, which is why native support remains.

  • FST: Fast Signal Trace
    It is a trace file format developed by GTKWave which is designed for very fast sequential and random access.

  • LXT: InterLaced eXtensible Trace
    This is an optimized format utilizing interleaved back pointers and value changes. Processing LXT files is faster than VCD. It was created specifically for use with GTKWave, however, some other simulators (notably, Icarus Verilog) support it natively.

  • LXT2: InterLaced eXtensible Trace Version 2
    This is a block-based variant of LXT that allows for greater compression and access speeds than can be achieved with LXT. It allows random-access at the block level and also optionally allows partial loading of blocks for even faster operation. Icarus Verilog also supports LXT2 natively.

  • VZT: Verilog Zipped Trace
    This is an outgrowth of LXT2 as it is also block based, however it employs a different heuristic for compression that allows for file sizes much smaller than most other dumpfile formats including commercial ones. VZT file write performance is the slowest of all the formats, however reading them can be extremely fast on multiprocessor machines as the file format has been designed such that the reader was able to be parallelized.

  • IDX: VCD Recoder Index File
    This format used to be written by GTKWave when instructed to generate fastload files.

  • GHW: GHDL Wave file
    This is a nine state (“01XZHUWL-”) file format written by the VHDL simulator GHDL.

  • AET2: All Events Trace Version 2
    This is a format used by various IBM EDA tools. File size is very small and access is extremely fast. Support for it is determined at compile time. If the AET2 reader API libraries are not found, it is disabled. Users of IBM tool sets can set the environment variable SIMARAMA_BASE to point to the libae2rw.a and/or libae2rw.so files in order to enable this feature.

  • VPD: VCD Plus Dump
    This is generated by Synopsys VCS. In order to read these files, the executable vpd2vcd must be in your $PATH during configure and gtkwave must be invoked with the -o option.

  • WLF: Wave Log File
    This is generated by ModelSim. In order to read these files, the executable wlf2vcd must be in your $PATH during configure and gtkwave must be invoked with the -o option.

  • FSDB: Fast Signal Database
    Reading these files generally requires that the executables fsdb2vcd and fsdbdebug are in your $PATH during configure and gtkwave must be invoked with the -o option. FSDB files can also be read without conversion with a processing speed similar to FST if the FsdbReader libraries nffr and nsys are found during configure, pointed to by the environment variable FSDBREADER_LIBS. Headers are pointed to by `FSDBREADER_HDRS``.

Converter helper applications are packaged with the viewer in order to convert VCD files into LXT, LXT2, VZT, or FST files. Conversion from LXT2, VZT, and FST back into VCD is possible. Wholesale conversion from LXT is not currently possible, however it is possible to save the traces visible in the main GTKWave window as VCD so conversion to LXT is not strictly irreversible.

Format deprecations in GTKWave 4

It is planned to remove support for the following formats is in GTKWave 4:

  • LXT

  • LXT2

  • VZT

  • IDX

  • AET2

  • VPD

  • WLF

  • FSDB

If you need continued support for one of these formats please open a GitHub issue.