What is the general difference between static and dynamic events in SystemVerilog?

In verilog we have → and @ for inter process communication whereas we need mailbox and semaphore in SystemVerilog. why do we need mailbox and semaphore when we have → @ in SystemVerilog.

In reply to Arun_Rajha:

The event triggers → and ->> are low level broadcasting signals. Any number of processes can trigger an event, and any number of processes can wait for the event. Events can be triggered without any one waiting for them, and they are lost.

Mailbox and semaphores are essentially one-to-one process signals. One process puts() and another process gets() tokens. When more processes are involved, they have to get into a FIFO queue for handling in serial order.

1 Like

@dave_59 is semaphore and mailbox are static or dynamic?

Like any class, semaphores and mailboxes are dynamically constructed objects.

I think the title of this topic is misleading as it has nothing to do with lifetimes. I think they meant named events instead of static.