Blocking Action block

Hi all ,

Scenario :: What if the pass / fail action block is blocking ? .
I understand that this isn’t recommended but I just wanted to try and understand the O/P .

Have coded the following :: EDA_LINK

I wanted to understand how the code works ( I know task within a module is static by default )

Should the task be called each time the assertion FAILS or if a previous invocation is still running should the task not be called again ( for 2nd failure ) .

In reply to hisingh:

As its name implies, a concurrent assertion creates concurrent threads of execution. A failure in any thread activates the action block concurrently.

In reply to dave_59:

Dave ,

If I call a task for PASS / FAIL action block should I ensure that the task is automatic ? .
Could there issues similar to older versions of Verilog where ’ automatic ’ wasn’t added ? .

In reply to hisingh:
As a general rule, any concurrent task calls should be declared with an automatic lifetime, or in a scope have a default automatic lifetime.