Sv event vs uvm_event?

Hi all,
what is difference between sv event and uvm event?
please refer a example of uvm_event?

In reply to Jaygyana:

uvm_event, uvm_queue, and uvm_pool are class wrappers arounds SystemVerilog events, queues, and associative arrays (Don’t ask me why they called it a ‘pool’). As class objects, they are easier to pass around your testbench environment consistently. The UVM has a lot of feature-creep; you probably won’t ever need all of the methods in the wrappers.

In reply to Jaygyana:

Hi,

In sv events you have limited functionality to use like :-

  1. “->” operator for trigger.
  2. “->>” operator for non-blocking trigger.
  3. “@” operator for waiting.

in sv events you have to pass events manually to other components, so uvm provide wrapper that provide all common uses methods and functionality like

  1. uvm_event_pool to get and set event in any components.
  2. UVM Event Methods

    new; Creates a new event object
    wait_trigger; Waits for an event to be triggered
    wait_ptrigger; Waits for a persistent trigger of the event, avoids race conditions
    wait_on; Waits for the event to be activated for the first time, returns immediately if the event is already triggered
    wait_off; Returns if the event is off, else waits for the event turned off via reset event call
    is_on; Returns 1 if the event has triggered
    is_off; Returns 1 if the event has not been triggered
    reset; resets the event to its off state
    get_trigger_time; Returns the last time at which the event got triggered is_on is_off reset
    get_num_waiters; Returns the number of processes waiting on the event

In reply to dave_59:

Thank You Dave :)
I have one more question on uvm_event.
would uvm_event costs any run time performance as compared to SV event due to extra API?

Thanks,
Siva

In reply to gariks:

Of course, any API introduces some performance overhead.

But that overhead can be easily wiped out in the time it takes you to implement things yourself, or someone else has to take time out to learn what you wrote.

In reply to dave_59:
Thank You Dave.