Skip to content

VCD Files

VCD (Value Change Dump) is a file format for recording signal transitions. nexsim can read and write VCD files, making it compatible with other waveform tools.

The CLI writes VCD by default:

Terminal window
nexsim design.vhd tb.vhd --top tb --run-time 1000
# → writes output.vcd
nexsim design.vhd tb.vhd --top tb --run-time 1000 --output result.vcd
# → writes result.vcd

After a simulation, use the Export VCD action to download the results as a .vcd file.

Drag and drop a .vcd file into the app, or use the file picker. nexsim parses the file and populates the waveform viewer — no simulation needed.

This is useful for viewing VCD files generated by other simulators (ModelSim, GHDL, Vivado, etc.).

nexsim’s VCD output is compatible with:

  • GTKWave — open-source waveform viewer
  • Surfer — modern waveform viewer
  • Any tool that reads IEEE 1364-2001 VCD

A VCD file contains three sections:

  1. Header — date, version, timescale
  2. Signal definitions — names, types, widths, organized by scope (module hierarchy)
  3. Value changes — timestamped transitions

Example excerpt:

$timescale 1ns $end
$scope module mux_2x1_tb $end
$var wire 1 ! in0_tb $end
$var wire 1 " sel_tb $end
$var wire 1 # output_tb $end
$upscope $end
$enddefinitions $end
#0
0!
0"
0#
#10
1!
1#

Each #N line marks a new timestamp. The lines below it show which signals changed and their new values.