Verification #3 · 2026-09-26 · Assertions · Medium · about 15 min

Catch the late acknowledge

A handshake follows two rules:

  1. Once req rises, it stays high until ack.
  2. ack arrives 1 to 3 cycles after req rises.

Write a concurrent assertion in checker.sv that enforces both rules and is disabled while rst_n is low. Use $error in the failure branch, or leave the branch out.

The stimulus in tb.sv contains exactly one violation, so a correct assertion fires once when you press Run. Grading uses four more hidden scenarios.

Write and run your answer in the browser. The hidden tests check it, and it’s free.