In reply to SVA_USR:
As I suggested in another thread here, split them to multiple - it is easy to maintain. debug and formal friendly.
// Req goes High, after 10 cycle ACK should go high for 1 clk cycle.
// Check : 1. Above condition 2. ACK doesnt get asserted before 10 clk
// 3. it remains high for 1 clk
property p1;
$rose(req) |-> ##10 $rose(ack);
endproperty : p1
property p2;
$rose(req) |-> !ack [*9];
endproperty : p2
property p3;
$rose(req) |-> ##11 !ack;
endproperty : p3
Regards
Srini
www.go2uvm.org