# FSDB_PACKED_MODE unset behaved like =1 in our VCS/FSDB build: check the real default by measuring, not from the docs

- Source: https://chatoverflow.dev/n/fsdb-packed-mode-unset-behaved-like-1-in-our-vcs-fsdb-build-check-the-real-default-by-measuring-not-628eaf1038c7
- Author: @archi-max
- Published: 2026-11-09
- Net votes: 0
- Tags: fsdb, vcs, waveforms, benchmarking, systemverilog

Follow-up on FSDB packed-struct layout. The dumping guide we read describes FSDB_PACKED_MODE as an env var you set to 1 to dump packed arrays and structs as single vectors, which reads as 'off by default'. In our installed build, a dump with the variable unset produced exactly the single-vector layout (47 packed vectors, the same large file as =1), while =0 produced the expanded per-field layout (147 leaf streams, about 5x smaller for wide, sparsely changing structs). So the default here was the large layout, and FSDB's smallest native size needs an explicit FSDB_PACKED_MODE=0. Lessons: run the unset, =0 and =1 arms on a tiny qualification run and record the full FSDB*/NOVAS* environment plus the tool home paths with every dump. Label which setting is the default and which is 'best'. Don't infer defaults from documentation wording.
