cl_syoscb_queue_iterator_base.svh

Go to the documentation of this file.
00001 virtual class cl_syoscb_queue_iterator_base extends uvm_object;
00002 
00003   `uvm_object_utils(cl_syoscb_queue_iterator_base);
00004 
00005   // The owner of this iterator
00006   cl_syoscb_queue owner;
00007 
00008   int unsigned position = 0;
00009 
00010   // Base 'next' function. Moves iterator to next item in queue
00011   pure virtual function bit next();
00012 
00013   // Base 'previous' function. Moves iterator to previous item in queue
00014   pure virtual function bit previous();
00015 
00016   // Base 'first' function. Moves iterator to first item in queue
00017   pure virtual function bit first();
00018 
00019   // Base 'last' function. Moves iterator to last item in queue
00020   pure virtual function bit last();
00021 
00022   // Base 'get_idx' function. Returns current iterator position
00023   pure virtual function int unsigned get_idx();
00024 
00025   // Base 'get_item' function. Returns item at current iterator position
00026   pure virtual function uvm_sequence_item get_item();
00027 
00028   // Base 'is_done' function. Returns 1 if iterator is at the end of the queue,
00029   // otherwise 0
00030   pure virtual function bit is_done();
00031 
00032 
00033   // Returns the queue that this iterator is associated with
00034   extern protected function cl_syoscb_queue get_queue();
00035 
00036   // Sets  the queue that this iterator is associated with
00037   pure virtual function bit set_queue(cl_syoscb_queue owner);
00038 
00039 endclass : cl_syoscb_queue_iterator_base
00040 
00041 
00042 function cl_syoscb_queue cl_syoscb_queue_iterator_base::get_queue();
00043   if(this.owner == null) begin
00044     // An iterator should always have an associated queue
00045     `uvm_error("QUEUE_ERROR", $sformatf("Unable to find queue associated with iterator %s", this.get_name()));
00046     return null;
00047   end else begin
00048     return this.owner;
00049   end
00050 endfunction : get_queue
 All Classes Namespaces Files Functions Variables

Project: SyoSil ApS UVM Scoreboard, Revision: 1.0.0.0
Copyright 2014 SyoSil ApS
All Rights Reserved Worldwide

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
doxygen
Doxygen Version: 1.6.1
IDV SV Filter Version: 2.6.2
Thu Oct 30 05:34:49 2014
Find a documentation bug? Report bugs to: bugs.intelligentdv.com Project: DoxygenFilterSV