SVA

In reply to 100rabhh:

Hi,
I firmly believe it’s related to an array of SVA concept. In this case, I would prefer to go with the generate-block idea.


property p1 (logic a, logic b);
@(posedge clk) a |-> $past(b) && !b ;
endproperty

genvar i;

generate 
for(i=0;i<32;i=i+1)
begin:coding
assert property(p1(fifo_full,tag_ram[i]))
$display("Okay");
else 
$display("Error seen at i = ",%0d);
end
endgenerate

Concept - at the same time we are dealing with 32 signals. A naive approach would be creating 32 assertions. The best way would be to create for loop and pass the values of each tag_ram bit as one of the arguments. All of them should happen at the same time. As per knowledge, it is possible with the help of generate-block.

Please run it with your code and let me know if it’s okay or not.