| |
| Title: Synchronization Classes |
| |
| (see uvm_ref_sync.gif) |
| |
| The UVM provides event and barrier synchronization classes |
| for managing concurrent processes. |
| |
| - <uvm_event#(T)> - UVM's event class augments the SystemVerilog |
| event datatype with such services as setting callbacks and data delivery. |
| |
| - <uvm_barrier> - A barrier is used to prevent a pre-configured number of |
| processes from continuing until all have reached a certain point in simulation. |
| |
| - uvm_event_pool and uvm_barrier_pool - |
| The event and barrier pool classes are specializations of <uvm_object_string_pool #(T)> |
| used to store collections of ~uvm_event#(uvm_object)~s and <uvm_barriers>, respectively, |
| indexed by string name. Each pool class contains a static, "global" pool instance |
| for sharing across all processes. |
| |
| - <uvm_event_callback> - The event callback is used to create callback objects |
| that may be attached to <uvm_event#(T)>s. |