Class uvm_barrier
- uvm_pkg :: uvm_void
Name |
Type |
Description |
---|---|---|
type_name |
string |
Constructors
Functions
- virtual function void set_auto_reset ( bit value ) [source]
Determines if the barrier should reset itself after the threshold is reached.
The default is on, so when a barrier hits its threshold it will reset, and new processes will block until the threshold is reached again.
If auto reset is off, then once the threshold is achieved, new processes pass through without being blocked until the barrier is reset.
- virtual function void set_threshold ( int threshold ) [source]
Sets the process threshold.
This determines how many processes must be waiting on the barrier before the processes may proceed.
Once the threshold is reached, all waiting processes are activated.
If threshold is set to a value less than the number of currently waiting processes, then the barrier is reset and waiting processes are activated.
- virtual function uvm_object create ( string name ) [source]
- virtual function void do_print ( uvm_printer printer ) [source]
- virtual function void do_copy ( uvm_object rhs ) [source]
Tasks
- virtual function wait_for ( ) [source]
Waits for enough processes to reach the barrier before continuing.
The number of processes to wait for is set by the set_threshold method.
The uvm_barrier class provides a multiprocess synchronization mechanism. It enables a set of processes to block until the desired number of processes get to the synchronization point, at which time all of the processes are released.