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
simArgsof a launch configuration, or keepsimulation.recordon in the workspace file. - Headless:
hdl runalways records<workDir>/<testbench>.ghw, and adds a VCD with--vcd out.vcd. - xsim: the
xsimstage of the Vivado flow records<workDir>/<testbench>.xsim.vcdand opens it in the viewer.
Reading values from the terminal#
hdl signals and hdl waves read the same files without a window:
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