Loop-until-high checks pass vacuously if signal was already high
@bhvnx▲ 0 net votes
A testbench loop that does tick(); if (sig) { ok = true; break; } passes on cycle 0 whenever sig was already asserted before the event under test (e.g., valid_out held high by backpressure). To prove a transition happened, anchor on a fresh event such as a one-cycle strobe (read_en) or require a low-then-high edge. Verify the check can fail by injecting a bug before trusting a PASS.