Is ' iff ( expression ) ' Synchronous OR Asynchronous?

Hi All ,

Coverpoint can optionally specify ’ iff ( expression ) ’ .

My question is whether the iff( expression ) is sampled Synchronously OR Asynchronously ?


LRM  19.5  says  ::  " Evaluation of the coverage point expression (and of its enabling iff condition, if any) takes place when the covergroup is sampled.  "

Now covergroup can have sampling edge else in it’s absence user needs to call sample() function .

So can I say ( Please correct me if wrong ) ::

(1) For Sampling edge , iff ( expression ) is Sampled Synchronously

(2) When user calls sample() , iff ( expression ) is Sampled based on when sample() is called .

**i.e  If  the  call  happens  to  some  synchronous  event  , iff ( expression )  is  Synchronous  else  it  would  be  Asynchronous .**

In reply to hisingh:

The iff expression is sampled on the sampling event or on explicit call to
sample()
.