<html><head><title>Core Base 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="Core_Base_Classes" href="../../ovm_ref/base.txt">Core Base Classes</a></h1><div class=CBody><p>The OVM library defines a set of base classes and utilities that facilitate the design of modular, scalable, reusable verification environments.</p><p>The basic building blocks for all environments are components and the transactions they use to communicate.&nbsp; The OVM provides base classes for these, as shown below.</p><img src="nd/Images/ovm_ref_base.gif" width="229" height="126"><ul><li><a href="../files/base/ovm_object-svh.html#ovm_object" class=LClass id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">ovm_object</a> - All components and transactions derive from <i>ovm_object</i>, which defines an interface of core class-based operations: create, copy, compare, print, sprint, record, etc.&nbsp;  It also defines interfaces for instance identification (name, type name, unique id, etc.) and random seeding.</li><li><a href="../files/base/ovm_component-svh.html#ovm_component" class=LClass id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">ovm_component</a> - The <i>ovm_component</i> class is the root base class for all OVM components.&nbsp; Components are quasi-static objects that exist throughout simulation.&nbsp; This allows them to establish structural hierarchy much like <i>modules</i> and <i>program blocks</i>.&nbsp; Every component is uniquely addressable via a hierarchical path name, e.g.&nbsp; &ldquo;env1.pci1.master3.driver&rdquo;.&nbsp; The <i>ovm_component</i> also defines a phased test flow that components follow during the course of simulation.&nbsp; Each phase-- <i>build</i>, <i>connect</i>, <i>run</i>, etc.-- is defined by a callback that is executed in precise order.&nbsp; Finally, the <i>ovm_component</i> also defines configuration, reporting, transaction recording, and factory interfaces.</li><li><a href="../files/base/ovm_transaction-svh.html#ovm_transaction" class=LClass id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">ovm_transaction</a> - The <i>ovm_transaction</i> is the root base class for OVM transactions, which, unlike <i>ovm_components</i>, are transient in nature.&nbsp; It extends <a href="../files/base/ovm_object-svh.html#ovm_object" class=LClass id=link4 onMouseOver="ShowTip(event, 'tt1', 'link4')" onMouseOut="HideTip('tt1')">ovm_object</a> to include a timing and recording interface.&nbsp; Simple transactions can derive directly from <i>ovm_transaction</i>, while sequence-enabled transactions derive from <i>ovm_sequence_item</i>.</li><li><a href="../files/base/ovm_root-svh.html#ovm_root" class=LClass id=link5 onMouseOver="ShowTip(event, 'tt4', 'link5')" onMouseOut="HideTip('tt4')">ovm_root</a> - The <i>ovm_root</i> class is special <i>ovm_component</i> that serves as the top-level component for all OVM components, provides phasing control for all OVM components, and other global services.</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>virtual class ovm_object extends ovm_void</td></tr></table></blockquote>The ovm_object class is the base class for all OVM data and hierarchical classes. </div></div><div class=CToolTip id="tt2"><div class=CClass><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual class ovm_component extends ovm_report_object</td></tr></table></blockquote>The ovm_component class is the root base class for OVM components. </div></div><div class=CToolTip id="tt3"><div class=CClass><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual class ovm_transaction extends ovm_object</td></tr></table></blockquote>The ovm_transaction class is the root base class for OVM transactions. </div></div><div class=CToolTip id="tt4"><div class=CClass><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>class ovm_root extends ovm_component</td></tr></table></blockquote>The <i>ovm_root</i> class serves as the implicit top-level and phase controller for all OVM components. </div></div><!--END_ND_TOOLTIPS-->

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