NLTrace is a tool to quickly create beautiful waveforms directly from VCD files.

NLTrace is a handy tool to create printable waveforms from value change dump (VCD) traces. The VCD format is specified in the widely-used industrial standard IEEE 1364 Verilog, and is well-supported by many tools like simulators (e.g., Verilator and Icarus Verilog), formal verification tools (e.g., SymbiYosys), and waveform viewers (e.g., GTKWave).

NLTrace is considered as a replacement to copying screenshots of VCD viewers into documentation. Instead, we directly take simulation output and create beautiful waveforms in PDF or SVG by translating the VCD into a TikZ timing diagram.

By default, NLTrace generates a standalone image of the selected signals embedded into a standalone LaTeX document (PDF, SVG, PNG, etc.). NLTrace can also generate only the TikZ timing diagram, which can then be embedded into our own LaTeX documents (or presentation slides).

NLTrace intends to accelerate and beautify scientific publications, technical documentation (like data sheets), and teaching material by directly processing simulation output, without the need of time-intensive, error-prone manual translation.

NLTrace provides a rich command shell to operate on VCD traces, inspired by the Yosys shell. If you are familiar with the Yosys shell, you will quickly understand how NLTrace works. A complete specification of the user interface is available here, or in the man page of nltrace:

man nltrace
man nltrace-tutorial

The following steps on this website will get us started as quickly as possible. We give detailed installation instructions, and demonstrate one simple, but complete use case in a tutorial to show how NLTrace works.

What it is

  • Fully documented
  • Fully scriptable
  • Fully modular
  • Fully flexible
  • Rich, yet simple command-line interface

What it isn't

  • Offending
  • Insulting
  • Inappropriate
  • Sexist
  • Racist
  • A waveform viewer

Where to get it

Currently, NLTrace is under active development.

An NLTrace web application is available at https://nltrace.io

If you are just curious about the progress, please consider subscribing to our newsletter! We will provide some news and facts about NLTrace on a regular (not too overwhelming) basis.

Sign up to our newsletter!

If you would like to receive regular updates about NLTrace on a monthly basis, please enter your E-Mail address below.