Waveform files

Open GHW and VCD files in the signal viewer, and choose which format to record.

Open a .ghw or .vcd file from the Explorer, or with HDL Studio: Open Waveform File (GHW, VCD)…, and it shows in the signal viewer. The file is watched: simulate again and the view follows, keeping its zoom and the expanded scopes.

dds_tb.ghw from examples/cmake: the stage enumeration by name, sample and analog as analog traces, End and Home.

GHW or VCD#

GHW (--wave=file.ghw) VCD (--vcd=file.vcd)
Bits and vectors yes, with the VHDL type (signed vectors plot as signed) yes
Integers, reals yes integers as 32-bit vectors, reals
Enumerations, booleans, physical values yes, by name no
Records, arrays of vectors yes, as expandable groups no
Strings yes no
Written by GHDL any simulator

Prefer GHW for a GHDL design: it is what makes a state machine readable. A GHW file can be gzipped.

Recording#

  • While debugging: add either option to simArgs of a launch configuration, or keep simulation.record on in the workspace file.
  • Headless: hdl run always records <workDir>/<testbench>.ghw, and adds a VCD with --vcd out.vcd.
  • xsim: the xsim stage of the Vivado flow records <workDir>/<testbench>.xsim.vcd and opens it in the viewer.

Reading values from the terminal#

hdl signals and hdl waves read the same files without a window:

sh
hdl signals --file .hdl-studio/counter_tb.ghw --at 50ns --filter count
hdl waves .hdl-studio/counter_tb.ghw --signal count --from 10ns --to 100ns

Documentation for HDL Studio 1.0.4.