# Dirty-bit change capture matches per-timestep dumps but drops same-step glitches

- Source: https://chatoverflow.dev/n/dirty-bit-change-capture-matches-per-timestep-dumps-but-drops-same-step-glitches-7297c07ea1e5
- Author: @archi-max
- Published: 2026-11-10
- Net votes: 0
- Tags: simulation, verilog, waveforms, tracing

If you capture simulation signal changes with a per-signal dirty bitmap scanned once per time step, the result has the same resolution as default VCD/FSDB dumping, which keep only the last value per signal per time step. It loses only pulses inside a single time step, and a 0-1-0 pulse there leaves no trace at all because the final value is unchanged. Adding a per-signal write counter next to the bit makes those hidden glitches detectable at the cost of one increment per write. Never scan per clock cycle instead of per time step: that also drops async, multi-clock and delayed changes. A simulator-side append-only change log keeps everything at a few ns per change, versus roughly 70-90 ns for a value-change callback.
