OpenCores
URL https://opencores.org/ocsvn/lpffir/lpffir/trunk

Subversion Repositories lpffir

[/] [lpffir/] [trunk/] [uvm/] [tools/] [uvm_syoscb/] [docs/] [html/] [cl__syoscb__compare__base_8svh_source.html] - Blame information for rev 4

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 4 vladimirar
<!-- This comment will put IE 6, 7 and 8 in quirks mode -->
2
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
<html xmlns="http://www.w3.org/1999/xhtml">
4
<head>
5
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
6
<title>SyoSil ApS UVM Scoreboard: cl_syoscb_compare_base.svh Source File</title>
7
<link href="tabs.css" rel="stylesheet" type="text/css"/>
8
<link href="search/search.css" rel="stylesheet" type="text/css"/>
9
<script type="text/javaScript" src="search/search.js"></script>
10
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
11
</head>
12
<body onload='searchBox.OnSelectItem(0);'>
13
<!-- Generated by Doxygen 1.6.1 -->
14
<script type="text/javascript"><!--
15
var searchBox = new SearchBox("searchBox", "search",false,'Search');
16
--></script>
17
<script type="text/javascript">
18
<!--
19
function changeDisplayState (e){
20
  var num=this.id.replace(/[^[0-9]/g,'');
21
  var button=this.firstChild;
22
  var sectionDiv=document.getElementById('dynsection'+num);
23
  if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
24
    sectionDiv.style.display='block';
25
    button.src='open.gif';
26
  }else{
27
    sectionDiv.style.display='none';
28
    button.src='closed.gif';
29
  }
30
}
31
function initDynSections(){
32
  var divs=document.getElementsByTagName('div');
33
  var sectionCounter=1;
34
  for(var i=0;i<divs.length-1;i++){
35
    if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
36
      var header=divs[i];
37
      var section=divs[i+1];
38
      var button=header.firstChild;
39
      if (button!='IMG'){
40
        divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
41
        button=document.createElement('img');
42
        divs[i].insertBefore(button,divs[i].firstChild);
43
      }
44
      header.style.cursor='pointer';
45
      header.onclick=changeDisplayState;
46
      header.id='dynheader'+sectionCounter;
47
      button.src='closed.gif';
48
      section.id='dynsection'+sectionCounter;
49
      section.style.display='none';
50
      section.style.marginLeft='14px';
51
      sectionCounter++;
52
    }
53
  }
54
}
55
window.onload = initDynSections;
56
-->
57
</script>
58
<div class="navigation" id="top">
59
  <div class="tabs">
60
    <ul>
61
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
62
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
63
      <li><a href="annotated.html"><span>Classes</span></a></li>
64
      <li class="current"><a href="files.html"><span>Files</span></a></li>
65
      <li><a href="dirs.html"><span>Directories</span></a></li>
66
      <li>
67
        <div id="MSearchBox" class="MSearchBoxInactive">
68
        <img id="MSearchSelect" src="search/search.png"
69
             onmouseover="return searchBox.OnSearchSelectShow()"
70
             onmouseout="return searchBox.OnSearchSelectHide()"
71
             alt=""/>
72
        <input type="text" id="MSearchField" value="Search" accesskey="S"
73
             onfocus="searchBox.OnSearchFieldFocus(true)"
74
             onblur="searchBox.OnSearchFieldFocus(false)"
75
             onkeyup="searchBox.OnSearchFieldChange(event)"/>
76
        <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
77
        </div>
78
      </li>
79
    </ul>
80
  </div>
81
  <div class="tabs">
82
    <ul>
83
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
84
    </ul>
85
  </div>
86
  <div class="navpath"><a class="el" href="dir_562324e130495ce1321e3e3f14c8d761.html">src</a>
87
  </div>
88
</div>
89
<div class="contents">
90
<h1>cl_syoscb_compare_base.svh</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/// Base class for all comapre algorithms</span>
91
<a name="l00002"></a><a class="code" href="classcl__syoscb__compare__base.html">00002</a> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classcl__syoscb__compare__base.html" title="Base class for all comapre algorithms.">cl_syoscb_compare_base</a> <span class="keyword">extends</span> uvm_object;
92
<a name="l00003"></a>00003   <span class="comment">//-------------------------------------</span>
93
<a name="l00004"></a>00004   <span class="comment">// Non randomizable variables</span>
94
<a name="l00005"></a>00005   <span class="comment">//-------------------------------------</span><span class="comment"></span>
95
<a name="l00006"></a>00006 <span class="comment">  /// Handle to the configuration</span>
96
<a name="l00007"></a><a class="code" href="classcl__syoscb__compare__base.html#a50220bf3939fd5d2c17f1e1ae7a794ba">00007</a> <span class="comment"></span>  <span class="keyword">protected</span> <a class="code" href="classcl__syoscb__cfg.html" title="Configuration class for the SyoSil UVM scoreboard.">cl_syoscb_cfg</a> <a class="code" href="classcl__syoscb__compare__base.html#a50220bf3939fd5d2c17f1e1ae7a794ba" title="Handle to the configuration.">cfg</a>;
97
<a name="l00008"></a>00008
98
<a name="l00009"></a>00009   <span class="comment">//-------------------------------------</span>
99
<a name="l00010"></a>00010   <span class="comment">// UVM Macros</span>
100
<a name="l00011"></a>00011   <span class="comment">//-------------------------------------</span>
101
<a name="l00012"></a>00012   `uvm_object_utils_begin(cl_syoscb_compare_base)
102
<a name="l00013"></a>00013     `uvm_field_object(cfg, UVM_DEFAULT)
103
<a name="l00014"></a>00014   `uvm_object_utils_end
104
<a name="l00015"></a>00015
105
<a name="l00016"></a>00016   <span class="comment">//-------------------------------------</span>
106
<a name="l00017"></a>00017   <span class="comment">// Constructor</span>
107
<a name="l00018"></a>00018   <span class="comment">//-------------------------------------</span>
108
<a name="l00019"></a>00019   extern function new(string name = &quot;cl_syoscb_compare_base&quot;);
109
<a name="l00020"></a>00020
110
<a name="l00021"></a>00021   <span class="comment">//-------------------------------------</span>
111
<a name="l00022"></a>00022   <span class="comment">// Compare API</span>
112
<a name="l00023"></a>00023   <span class="comment">//-------------------------------------</span>
113
<a name="l00024"></a>00024   extern <span class="keyword">virtual</span> function void <a class="code" href="classcl__syoscb__compare__base.html#ae16d1f2c1a75d56ed5c955e3a14dd9db" title="Compare API: This method is the compare algorithms public compare method.">compare</a>();
114
<a name="l00025"></a>00025   extern <span class="keyword">virtual</span> function void <a class="code" href="classcl__syoscb__compare__base.html#ab2cef03989c4c28994c6cf52c5742bc9" title="Compare API: Does the actual compare.">compare_do</a>();
115
<a name="l00026"></a>00026   extern function void <a class="code" href="classcl__syoscb__compare__base.html#a2f96c175e5bc576cc9fc33b09525e33f" title="Compare API: Passes the configuration object on to the compare algorithm for faster...">set_cfg</a>(cl_syoscb_cfg cfg);
116
<a name="l00027"></a>00027   extern function <a class="code" href="classcl__syoscb__cfg.html" title="Configuration class for the SyoSil UVM scoreboard.">cl_syoscb_cfg</a> <a class="code" href="classcl__syoscb__compare__base.html#aa04cfd45a4bf05066cef409481d097b1" title="Compare API: Returns the configuration object">get_cfg</a>();
117
<a name="l00028"></a>00028   extern function string <a class="code" href="classcl__syoscb__compare__base.html#a35dfc9824d56bacb7ddf21437afa5b7b" title="Compare API: Gets the primary queue. Convinience method.">get_primary_queue_name</a>();
118
<a name="l00029"></a>00029 endclass: <a class="code" href="classcl__syoscb__compare__base.html" title="Base class for all comapre algorithms.">cl_syoscb_compare_base</a>
119
<a name="l00030"></a>00030
120
<a name="l00031"></a>00031 function <a class="code" href="classcl__syoscb__compare__base.html" title="Base class for all comapre algorithms.">cl_syoscb_compare_base</a>::new(string name = &quot;cl_syoscb_compare_base&quot;);
121
<a name="l00032"></a>00032    super.new(name);
122
<a name="l00033"></a>00033 endfunction: new
123
<a name="l00034"></a>00034 <span class="comment"></span>
124
<a name="l00035"></a>00035 <span class="comment">/// &lt;b&gt;Compare API&lt;/b&gt;: This method is the compare algorithms public compare method. It is called when the</span>
125
<a name="l00036"></a>00036 <span class="comment">/// compare algorithm is asked to do a compare. Typically, this method is used to check state variables etc. to compute if the compare shall be done or not. If so then do_compare() is called.</span>
126
<a name="l00037"></a>00037 <span class="comment">///</span>
127
<a name="l00038"></a>00038 <span class="comment">/// &lt;b&gt;NOTE:&lt;/b&gt; This method must be implemented.</span>
128
<a name="l00039"></a><a class="code" href="classcl__syoscb__compare__base.html#ae16d1f2c1a75d56ed5c955e3a14dd9db">00039</a> <span class="comment"></span>function void <a class="code" href="classcl__syoscb__compare__base.html" title="Base class for all comapre algorithms.">cl_syoscb_compare_base</a>::<a class="code" href="classcl__syoscb__compare__base.html#ae16d1f2c1a75d56ed5c955e3a14dd9db" title="Compare API: This method is the compare algorithms public compare method.">compare</a>();
129
<a name="l00040"></a>00040   `uvm_fatal(&quot;IMPL_ERROR&quot;, $sformatf(&quot;[%s]: cl_syoscb_compare_base::compare() *MUST* be overwritten&quot;, this.cfg.get_scb_name()));
130
<a name="l00041"></a>00041 endfunction
131
<a name="l00042"></a>00042 <span class="comment"></span>
132
<a name="l00043"></a>00043 <span class="comment">/// &lt;b&gt;Compare API&lt;/b&gt;: Does the actual compare.</span>
133
<a name="l00044"></a>00044 <span class="comment">/// &lt;b&gt;NOTE:&lt;/b&gt; This method must be implemted.</span>
134
<a name="l00045"></a><a class="code" href="classcl__syoscb__compare__base.html#ab2cef03989c4c28994c6cf52c5742bc9">00045</a> <span class="comment"></span>function void <a class="code" href="classcl__syoscb__compare__base.html" title="Base class for all comapre algorithms.">cl_syoscb_compare_base</a>::<a class="code" href="classcl__syoscb__compare__base.html#ab2cef03989c4c28994c6cf52c5742bc9" title="Compare API: Does the actual compare.">compare_do</a>();
135
<a name="l00046"></a>00046   `uvm_fatal(&quot;IMPL_ERROR&quot;, $sformatf(&quot;[%s]: cl_syoscb_compare_base::compare_do() *MUST* be overwritten&quot;, this.cfg.get_scb_name()));
136
<a name="l00047"></a>00047 endfunction
137
<a name="l00048"></a>00048 <span class="comment"></span>
138
<a name="l00049"></a>00049 <span class="comment">/// &lt;b&gt;Compare API&lt;/b&gt;: Passes the configuration object on to the compare algorithm for faster access.</span>
139
<a name="l00050"></a><a class="code" href="classcl__syoscb__compare__base.html#a2f96c175e5bc576cc9fc33b09525e33f">00050</a> <span class="comment"></span>function void <a class="code" href="classcl__syoscb__compare__base.html" title="Base class for all comapre algorithms.">cl_syoscb_compare_base</a>::<a class="code" href="classcl__syoscb__compare__base.html#a2f96c175e5bc576cc9fc33b09525e33f" title="Compare API: Passes the configuration object on to the compare algorithm for faster...">set_cfg</a>(cl_syoscb_cfg cfg);
140
<a name="l00051"></a>00051   this.<a class="code" href="classcl__syoscb__compare__base.html#a50220bf3939fd5d2c17f1e1ae7a794ba" title="Handle to the configuration.">cfg</a> = <a class="code" href="classcl__syoscb__compare__base.html#a50220bf3939fd5d2c17f1e1ae7a794ba" title="Handle to the configuration.">cfg</a>;
141
<a name="l00052"></a>00052 endfunction: <a class="code" href="classcl__syoscb__compare__base.html#a2f96c175e5bc576cc9fc33b09525e33f" title="Compare API: Passes the configuration object on to the compare algorithm for faster...">set_cfg</a>
142
<a name="l00053"></a>00053 <span class="comment"></span>
143
<a name="l00054"></a>00054 <span class="comment">/// &lt;b&gt;Compare API&lt;/b&gt;: Returns the configuration object</span>
144
<a name="l00055"></a><a class="code" href="classcl__syoscb__compare__base.html#aa04cfd45a4bf05066cef409481d097b1">00055</a> <span class="comment"></span>function <a class="code" href="classcl__syoscb__cfg.html" title="Configuration class for the SyoSil UVM scoreboard.">cl_syoscb_cfg</a> <a class="code" href="classcl__syoscb__compare__base.html" title="Base class for all comapre algorithms.">cl_syoscb_compare_base</a>::<a class="code" href="classcl__syoscb__compare__base.html#aa04cfd45a4bf05066cef409481d097b1" title="Compare API: Returns the configuration object">get_cfg</a>();
145
<a name="l00056"></a>00056   return(this.cfg);
146
<a name="l00057"></a>00057 endfunction: <a class="code" href="classcl__syoscb__compare__base.html#aa04cfd45a4bf05066cef409481d097b1" title="Compare API: Returns the configuration object">get_cfg</a>
147
<a name="l00058"></a>00058 <span class="comment"></span>
148
<a name="l00059"></a>00059 <span class="comment">/// &lt;b&gt;Compare API&lt;/b&gt;: Gets the primary queue. Convinience method.</span>
149
<a name="l00060"></a><a class="code" href="classcl__syoscb__compare__base.html#a35dfc9824d56bacb7ddf21437afa5b7b">00060</a> <span class="comment"></span>function string <a class="code" href="classcl__syoscb__compare__base.html" title="Base class for all comapre algorithms.">cl_syoscb_compare_base</a>::<a class="code" href="classcl__syoscb__compare__base.html#a35dfc9824d56bacb7ddf21437afa5b7b" title="Compare API: Gets the primary queue. Convinience method.">get_primary_queue_name</a>();
150
<a name="l00061"></a>00061   <a class="code" href="classcl__syoscb__cfg.html" title="Configuration class for the SyoSil UVM scoreboard.">cl_syoscb_cfg</a> ch = this.<a class="code" href="classcl__syoscb__compare__base.html#aa04cfd45a4bf05066cef409481d097b1" title="Compare API: Returns the configuration object">get_cfg</a>();
151
<a name="l00062"></a>00062
152
<a name="l00063"></a>00063   return(ch.get_primary_queue());
153
<a name="l00064"></a>00064 endfunction: <a class="code" href="classcl__syoscb__compare__base.html#a35dfc9824d56bacb7ddf21437afa5b7b" title="Compare API: Gets the primary queue. Convinience method.">get_primary_queue_name</a>
154
</pre></div></div>
155
<!--- window showing the filter options -->
156
<div id="MSearchSelectWindow"
157
     onmouseover="return searchBox.OnSearchSelectShow()"
158
     onmouseout="return searchBox.OnSearchSelectHide()"
159
     onkeydown="return searchBox.OnSearchSelectKey(event)">
160
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&nbsp;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&nbsp;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&nbsp;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&nbsp;</span>Variables</a></div>
161
 
162
<!-- iframe showing the search results (closed by default) -->
163
<div id="MSearchResultsWindow">
164
<iframe src="" frameborder="0"
165
        name="MSearchResults" id="MSearchResults">
166
</iframe>
167
</div>
168
 
169
<!--*************************************************************************-->
170
<!-- $Id: idv_dox_footer.html 136 2010-05-31 19:13:27Z seanoboyle $          -->
171
<!--*************************************************************************-->
172
<!--   This program is free software: you can redistribute it and/or modify  -->
173
<!--   it under the terms of the GNU General Public License as published by  -->
174
<!--   the Free Software Foundation, either version 3 of the License, or     -->
175
<!--   (at your option) any later version.                                   -->
176
<!--                                                                         -->
177
<!--   This program is distributed in the hope that it will be useful,       -->
178
<!--   but WITHOUT ANY WARRANTY; without even the implied warranty of        -->
179
<!--   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         -->
180
<!--   GNU General Public License for more details.                          -->
181
<!--                                                                         -->
182
<!--   You should have received a copy of the GNU General Public License     -->
183
<!--   along with this program.  If not, see http://www.gnu.org/licenses/.   -->
184
<!--                                                                         -->
185
<!--*************************************************************************-->
186
<!-- Title:        IDV Doxygen Footer File                                   -->
187
<!-- Description:  This file is a doxygen footer with the IDV logo and a     -->
188
<!--               and a reference to the GNU FDL License.                   -->
189
<!--                                                                         -->
190
<!-- Original Author: Sean O'Boyle                                           -->
191
<!-- Contact:         seanoboyle@intelligentdv.com                           -->
192
<!-- Company:         Intelligent Design Verification                        -->
193
<!-- Company URL:     http://intelligentdv.com                               -->
194
<!--                                                                         -->
195
<!-- Download the most recent version here:                                  -->
196
<!--                  http://intelligentdv.com/downloads                     -->
197
<!--                                                                         -->
198
<!-- File Bugs Here:  http://bugs.intelligentdv.com                          -->
199
<!--        Project:  DoxygenFilterSV                                        -->
200
<!--                                                                         -->
201
<!-- File: idv_dox_header.xml                                                -->
202
<!-- $LastChangedBy: seanoboyle $                                            -->
203
<!-- $LastChangedDate: 2010-05-31 12:13:27 -0700 (Mon, 31 May 2010) $        -->
204
<!-- $LastChangedRevision: 136 $                                             -->
205
<!--                                                                         -->
206
<!--*************************************************************************-->
207
 
208
<br>
209
<table border="1" width = "100%">
210
  <tr>
211
    <td width = "20%">
212
     <img src="syosil.jpg">
213
    </td>
214
    <td width = "60%">
215
       <address style="text-align: center;">
216
       Project: SyoSil ApS UVM Scoreboard, Revision: 1.0.2.5<br>
217
       <br>
218
       Copyright 2014-2015 SyoSil ApS<br>
219
       All Rights Reserved Worldwide<br>
220
       <br>
221
      Licensed under the Apache License, Version 2.0 (the "License"); you may not
222
      use this file except in compliance with the License.  You may obtain a copy of
223
      the License at<br>
224
      <br>
225
       <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a><br>
226
      <br>
227
      Unless required by applicable law or agreed to in writing, software distributed under the License is
228
      distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
229
      implied. See the License for the specific language governing permissions and limitations under
230
      the License.
231
      </address>
232
    </td>
233
    <td width = "20%">
234
      <address style="text-align: right;"><small>
235
      <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a><br>
236
      <a href="http://www.doxygen.org/index.html">Doxygen</a> Version: 1.6.1<br>
237
      <a href="http://www.intelligentdv.com/index.html">IDV SV Filter</a> Version: 2.6.2<br>
238
      Sat Nov 28 05:41:54 2015</small></address>
239
   </td>
240
  </tr>
241
</table>
242
<address style="text-align: left;"><small>
243
Find a documentation bug?  Report bugs to: <a href="http://bugs.intelligentdv.com/">bugs.intelligentdv.com</a> Project: DoxygenFilterSV
244
</small></address>
245
</body>
246
</html>

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.