In reply to DVtrojan:
- rose(req) ##[1:] 1’b1; // after the 1st req you get an endpoint at every cycle thereafter, till infinity.
- The 1st attempt with the rose gnt would be OK. However,
- $rose(gnt) |-> s_req.triggered;
with any 2nd, 3rd, …nth grant the assertion would would be immediately passed.
This is because the sequence (rose(req) ##[1:] 1’b1) is causing and endpoint at every cycle after the 1st rose of req