In reply to UVM_LOVE:
Look, I’m not a SVA expert at all, and it’s so embarrassing to even open my mouth when Ben is also responding to you…
But in general I have two basic recommendations:
- Add prints that describe the situation when the assert fails:
asset () else $error(“expect that a = … but a = %b, b = %b, time = %t”, a,b,$time); - Write a property with arguments, and send arguments when you assert:
property check(clk,a)
…
endproperty
assert property (c,x) else $error(…);
here c = clk and x = a.