blob: 64fa1e1cc586e1bda6ab5a2bd96afb1634607783 [file] [log] [blame]
<html><head><title>Register Layer</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="Register_Layer" href="../../src/overviews/registers.txt">Register Layer</a></h1><div class=CBody><p>The UVM register layer defines several base classes that, when properly extended, abstract the read/write operations to registers and memories in a design-under-verification.</p><p>A register model is typically composed of a hierarchy of blocks that usually map to the design hierarchy.&nbsp; Blocks contain registers, register files and memories.</p><p>The UVM register layer classes are not usable as-is.&nbsp; They only provide generic and introspection capabilities.&nbsp; They must be specialized via extensions to provide an abstract view that corresponds to the actual registers and memories in a design.&nbsp; Due to the large number of registers in a design and the numerous small details involved in properly configuring the UVM register layer classes, this specialization is normally done by a model generator.&nbsp; Model generators work from a specification of the registers and memories in a design and are thus able to provide an up-to-date, correct-by-construction register model.&nbsp; Model generators are outside the scope of the UVM library.</p><p>The class diagram of a register layer model is shown below.</p><img src="../../images/uvm_ref_reg_class_map.gif" width="670" height="499">
<!--START_ND_SUMMARY index=0-->
<div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable>
<!-- index=0 -->
<tr class="SMain"><td colspan=2 class=SEntry><a href="#Register_Layer" >Register Layer</a></td></tr>
<tr class=SMain><td colspan=2 class=SWideDescription>The UVM register layer defines several base classes that, when properly extended, abstract the read/write operations to registers and memories in a design-under-verification.</td></tr></table></div></div><!--END_ND_SUMMARY-->
</div></div></div>
</div><!--Content-->
<!--START_ND_TOOLTIPS-->
<!--END_ND_TOOLTIPS-->
<script language=JavaScript><!--
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>