Hi,
I wrote some of the assumptions in my fifo design and now the assertion passing in my design.Before assemptions that assert property was failing.
assumptions are as below:
///Assumtion to check underflow:
assume_underflow :assume property(assume_property_underflow) $info("assumption holds"); else $error("Assumption failed underflow");
property assume_property_underflow;
@(posedge clk)
(!read && empty); /*$info("Assumption undeflow holds");
else $error("Assertion underflow does not hold");*/
endproperty
///Assumtion to check overflow:
assume_overflow :assume property(assume_property_overflow) else $error("Assumption failed overflow");
property assume_property_overflow;
@(posedge clk)
((!write or !read) and full); /*$info("Assumption overflow holds");
else $error("Assumption overflow does not hold");*/
endproperty
Please see these logics are correct?