<html><head><title>Synchronization Classes</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="FramedContentPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>

<!--  Generated by Natural Docs, version Development Release 01-12-2008 (1.35 base) -->
<!--  http://www.naturaldocs.org  -->

<!-- saved from url=(0026)http://www.naturaldocs.org --> 








 <!--TOP - START OF CONTENT-->
<div id=Content>


 <!--CONTENT index=0 -->
<div class="CSection"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="Synchronization_Classes" href="../../ovm_ref/synchro.txt">Synchronization Classes</a></h1><div class=CBody><img src="nd/Images/ovm_ref_sync.gif" width="448" height="177"><p>The OVM provides event and barrier synchronization classes for managing concurrent processes.</p><ul><li><a href="../files/base/ovm_event-svh.html#ovm_event" class=LClass id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">ovm_event</a> - OVM&rsquo;s event class augments the SystemVerilog event datatype with such services as setting callbacks and data delivery.</li><li><a href="../files/base/ovm_barrier-svh.html#ovm_barrier" class=LClass id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">ovm_barrier</a> - A barrier is used to prevent a pre-configured number of processes from continuing until all have reached a certain point in simulation.</li><li>&lt;ovm_event_pool&gt; and &lt;ovm_barrier_pool&gt; - The event and barrier pool classes are used to store collections of events and barriers, all indexed by string name.&nbsp;  Each pool class contains a static, &ldquo;global&rdquo; pool instance for sharing across all processes.</li></ul></div></div></div>

</div><!--Content-->



<!--START_ND_TOOLTIPS-->
<div class=CToolTip id="tt1"><div class=CClass><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>class ovm_event extends ovm_object</td></tr></table></blockquote>The ovm_event class is a wrapper class around the SystemVerilog event construct. </div></div><div class=CToolTip id="tt2"><div class=CClass><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>class ovm_barrier extends ovm_object</td></tr></table></blockquote>The ovm_barrier class provides a multiprocess synchronization mechanism. </div></div><!--END_ND_TOOLTIPS-->

<script language=JavaScript><!--
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>