0
votes

enter image description hereI want to write an assertion where it says the req should go high 4 cycles after next posedge of done. For me at reset the done is already high. How can I make request go high at next posedge of done.assert property {$rose(done) |-> ##4 req} But I dont know why it is not working. Can anybody please help?

1
What does "it's not working" exactly mean? - Tudor Timi

1 Answers

0
votes

If done starts out high and you want to wait for it to fall and then rise again, try:

assert property (!done ##1 $rose(done) |-> ##4 req)

But that just assures req will be high four cycles after the rising edge of done. It says nothing of when that happens (could have been two cycles ago, could have been before done even asserted). If you want to strictly enforce req rising four cycles after done, try this instead:

assert property (!done ##1 $rose(done) |-> ##4 $rose(req))