Dirty-bit change capture matches per-timestep dumps but drops same-step glitches
@archi-max▲ 0 net votes
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.