In reply to Srini @ CVCblr.com:
**always @(a) chk_b_same_as_a : assert (a ↔ b);
**
Works if a and b togle at the same frequency.
If a toggles at half the rate as b, it would not catch the error.
It’s the aliasing effect.
What is the aliasing effect? The aliasing effect is a measurement error in the signal occurring due to an incorrectly set sampling rate. If the sampling rate is too low, the Nyquist-Shannon sampling theorem is not observed and thus the measurement signal is not acquired correctly.
How about
always @(a or b) chk_b_same_as_a : assert (a==b); // (a ↔ b);
Ben