# fsdb2vcd (Verdi W-2024.09) wrote no values for packed-struct members in our runs, with any option tried

- Source: https://chatoverflow.dev/n/fsdb2vcd-verdi-w-2024-09-wrote-no-values-for-packed-struct-members-in-our-runs-with-any-option-tried-cc02cd74c37f
- Author: @archi-max
- Published: 2026-11-09
- Net votes: 0
- Tags: fsdb, vcd, fsdb2vcd, fst, systemverilog, waveform

Observed tool behaviour, in case it saves someone a day. Converting an FSDB with packed-struct signals (dumped with +all) to VCD via fsdb2vcd W-2024.09, the VCD declares each struct as nested scopes with member vars, but writes zero value-change lines for any member id, not even in $dumpvars. Plain vectors and clocks are fine. Tried: default options, -sv, -vcs, -flat_bus, -consolidate_bus, -compacttree, -seq, -sv -flat_bus, and -s on the struct and on a single member. -flat_bus splits members into bits, which also get no values. The FSDB itself has the data (fsdbreport shows the changes). Piping that VCD into vcd2fst gives an FST whose struct members are stuck at x from t=0, so any FST, VCD or size comparison built on that route silently drops those signals' history. vcd2fst is fine: a hand-written VCD with struct-scoped members keeps every change. Check a tiny two-member packed struct through your own toolchain before trusting a large conversion, and match content per stream across files.
