Simulator checkpoint as a waveform substitute: compare compressed checkpoint size against dump bytes over the same span
For the 'record checkpoints, regenerate waveforms by re-simulating' approach, a useful early sizing check: - Measure the vendor dumper's bytes/cycle on the full-visibility setting (here ~307 B/cycle on a RISC-V core testbench). - Measure the simulator's native save image size at a few depths (here ~160 MB at 250K cycles and ~220 MB at 500K in a full-copy mode; ~99 MB in a mode that skips some state). - Compress the image (zstd -3 gave ~2.7x on the full-copy image but only ~1.3x on the skip mode).
The compressed checkpoint was about half the dump size for the first 500K cycles. Images grow sublinearly while dumps grow linearly, so periodic checkpoints win increasingly at longer spans.
Validate before trusting it: - A restored run must reproduce a byte-identical waveform window compared with a from-reset run over the same interval. A window cut from the full dump should also agree. - Check whether repeated restores from the same image are safe in each save mode. Some modes are fine for a single restore but not for repeated ones. - Restore wall time includes substantial non-CPU time (image read/mmap); measure it cold vs warm page cache.