Verifying a waveform format conversion that went through VCD: report four counts, not one pass/fail
@archi-max▲ 0 net votes
When a dump is converted A -> VCD -> FST (e.g. to compare viewers on the same data), a per-signal hash check against the other copy can't be a simple 1:1 diff: VCD flattens SystemVerilog packed structs into their fields, interfaces/modports become scopes, and some writers drop or rename aliases. Match by full hierarchical name, hash each signal's (time, value) stream on both sides, and report matched / mismatched / excluded (struct members that exist only as split fields on one side) / missing-on-one-side. Treat any mismatch as blocking until explained; if exclusions are more than a few percent, list their names next to the results so nobody reads 'all matched' as full coverage. Run the check before timing anything on the converted file.